【发布时间】:2011-12-12 12:22:05
【问题描述】:
我有模特
public class UserModel : IUserModel
{
public LocationModel WorkLocation { get; set; }
public LocationModel HomeLocation { get; set; }
public LocationModel ShippingLocation { get; set; }
}
我创建了局部视图,显示 LocationModel 类中的字段。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<LocationModel>" %>
<fieldset>
<div class="common-fieldset">
<div>
<span class="editor-label">
<%: Html.LabelFor(model => model.Location.Bldg)%>
</span><span class="editor-field">
<%: Html.EditorFor(model => model.Location.Bldg)%>
</span><span class="editor-label">
<%: Html.LabelFor(model => model.Location.Lobby)%>
</span><span class="editor-field">
<%: Html.EditorFor(model => model.Location.Lobby)%>
</span><span class="editor-label">
<%: Html.LabelFor(model => model.Location.Suite)%>
</span><span class="editor-field">
<%: Html.EditorFor(model => model.Location.Suite)%>
</span>
</div>
</div>
</fieldset>
当控制器渲染我的 UserModel 晚上看起来不错。 但是我的 LocationModel 类的 HTML 中的所有字段 ID 都具有相同的名称,并且在回发 LocationModel 属性时不包含初始值。它在没有局部视图的情况下渲染每个属性都可以正常工作。为什么 ?谢谢。
<div>
Home Address:
<%: Html.Partial("Controls/Location", Model.HomeLocation) %>
</div>
<div>
Work Address:
<%: Html.Partial("Controls/Location", Model.WorkLocation) %>
</div>
<div> Shipping Address:
<%: Html.Partial("Controls/Location",Model.ShippingLocation) %>
</div>
【问题讨论】:
标签: asp.net-mvc-3 partial-views