在 MVC 3 中,如何从局部视图访问模型?
在我的应用程序中,我有两个视图,它们使用参数中给定的模型呈现相同的部分视图,如下所示:
在视图1中:
@Html.Partial("_LayoutMyPartialView", new MyModel1())
在视图2中:
@Html.Partial("_LayoutMyPartialView", new MyModel2())
如何访问部分视图中的模型以处理数据?
更新
我的模型没有相同的结构。
In my application I have two views, that renders the same partial view with model given in parameter, like this:
In View1:
@Html.Partial("_LayoutMyPartialView", new MyModel1())
In View2:
@Html.Partial("_LayoutMyPartialView", new MyModel2())
How can I access the model in the partial view to work with the data?
UPDATE
My models does not have the same structure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您将使用
Model
关键字访问您的模型,以便:将为您提供对象的 UserName 属性。
确保您的部分视图也是强类型的:
You'll use the
Model
keyword to access your model such that:would give you the UserName property of the object.
Ensure that your partial view is strongly typed too:
你的要求似乎很不同。
但这里仍然是一个推荐的设计来实现你想要的(基于最初的问题)
拥有一个包含 Model1 和 Model2 实例的 ViewModel ,这样你就不必映射 2 个不同的对象。
<块引用>
{
公共 MyModel1 Model1Instance {获取;设置;}
公共 MyModel2 Model2Instance {获取;设置;}
}
只需在您的视图中使用此单个 ViewModel 标记
@model
即可。当您通过控制器传递对象时,这将使您可以访问部分中的两个模型。Your requirement seems very different.
But still here is a recommended design to achieve what you want (Based on initial question)
have a ViewModel that contains instances of Model1 and Model2 , that way you will save having to map 2 differnt objects.
Later on just mark in your view
@model
with this single ViewModel. that will give you access to both the Models in your partial while you pass Objects thru controller.