在一个页面上我以这种方式呈现其他视图:
<% Html.RenderPartial("Angebotspruefung", new ViewDataDictionary {{ "OpportunityEditModel", Model }} }); %>
在渲染视图中,我以这种方式检索此模型:
<%
OpportunityDetailsEditModel model = (OpportunityDetailsEditModel)ViewData["OpportunityEditModel"];
%>
并且非常非常奇怪,我可以使用<%= model.Property %>
访问属性但是lambda不起作用,所以这不起作用
<%= Html.HiddenFor(m => m.Property) %>
答案 0 :(得分:1)
Lamda表达式Helpers仅适用于强类型视图。传递ViewData的Intead,使您的部分视图强类型化并传递给Html.RenderPartial对象模型。然后,您将获得lambda的预期功能。
的
的 <%= Html.HiddenFor(m => m.Property) %>
的
在上面的代码中,m被视为其视图中的模型,因此帮助程序尝试呈现控件,但其视图没有Model,由对象手动设置,然后控件渲染的反射失败。 / p>
编辑:
RenderPartial有一个重载,让你能够将模型作为参数传递,看看这里:
希望能帮到你!