考虑以下情况:
Action Edit()被转发到Edit.aspx视图以呈现视图。
Edit.aspx包含textbox1和两个部分视图(也就是查看用户控件): part1.ascx(有textbox2,textbox3) 和part2.ascx(有checkbox1和checkbox2)
您希望Edit.aspx具有强类型视图,例如,您使用EditViewData类。
您还需要Edit.aspx,part1.ascx和part2.ascx可以访问一些全局信息,例如currentUserID,currentUserLanguage,currentUserTimezone。
问题:
答案 0 :(得分:1)
您的viewdata应如下所示:
public class EditViewData
{
public int currentUserID { get; set; }
public string currentUserLanguage { get; set; }
public string currentUserTimezone { get; set; }
// ... other stuff
}
强烈键入aspx之后,还需要强力键入ascx。然后在你的aspx中,当你调用RenderPartial时,只需像往常一样调用:
<% using (Html.BeginForm()) %>
<% Html.RenderPartial("part1.ascx" ); %>
<% Html.RenderPartial("part2.ascx" ); %>
<%}%>
它应该自动继承控件中的Model。请记住,你的BeginForm应该围绕你的两个控件(ascxs)。