繁体   English   中英

如何从单个视图检索多个模型

[英]How to retrieve multiple Models From Single view

有没有一种方法可以从视图中获取到控制器的模型对象,而无需使用强类型的HTML帮助器。 视图使用Account实体,但是需要发布表单并检索在foreach循环中运行的用于生成值表/网格的变量的account实体。 下拉列表中的信息用于不同的实体,因此为什么没有强类型输入。

public class HomeController : Controller
{
    // GET: Home
    ModelContext model = new ModelContext();


    [HttpGet]
    public ActionResult Index()
    {


        return View(model.accounts.ToList());
    }

    [HttpPost]
    public ActionResult Index(Account account,List<string> status,string name)
    {
      // return student object
        return View();
    }
}

视图中的其余代码在foreach循环上运行,以生成包含在@HTML.BeginForm的html table

<td>

        @Html.DropDownList("status",
        new SelectList(Enum.GetValues(typeof(ProjectName.Models.Code))),
        "...",
        new { @class = "form-control" })

</td>

<td>
    @Html.TextArea("comment");
</td>

应该创建一个父视图模型,其中包括视图中将需要的这两个视图模型。 例如:

public class ViewModel
{
    public ProjectName.Models.Code Code {get; set;} 
    public ProjectName.Models.Account Account {get; set;}
}

另外,请查看MVC-视图中的多个模型 我觉得对你有好处。

希望对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM