【发布时间】:2013-01-25 05:56:48
【问题描述】:
@model MyMVC.Models.MyMVC.MyModel
@{
ViewBag.Title = "Index";
}
我问这个问题的原因是在 MVC 中我们可以有多个表单,所以我希望每个表单都有一个模型。但是当我试图在视图顶部添加另一个模型时,它会显示一个错误。 我知道我们可以使用 ViewModel,其中包含 model1 和 model2,但这不是我要问的问题。
我只是想知道有什么方法可以将 2 个模型放入 1 个视图中。
更新:
例如,我想在我的视图中有 2 个表单,所以对于每个表单,我希望有一个单独的模型。
更新 2 谢谢大家的回复。我现在知道 MVC 在一个视图上只支持一个模型。你们认为这是MVC的缺点吗?为什么或为什么不?(还没有人回答……为什么?)
你的答案很相似,所以我什至不知道应该设置哪个作为答案。
【问题讨论】:
-
虽然每个 View 只能有一个 Model,但您可以在 View 中拥有 PartialViews。每个 PartialView 都可以有自己的模型。在您的示例中,每个表单都是其自己的 PartialView。
-
@drovani 感谢您的回复。请用代码表达你的想法好吗?
-
考虑使用 @Html.Partial() 而不是接受答案中的建议。 @Html.RenderAction 可能存在问题,因为它会查找控制器路由,然后将“部分”呈现为完整视图。这可能会在您的页面中加载 _Layout.cshtml 两次!
标签: asp.net-mvc razor asp.net-mvc-4