我有一个ASP.NET MVC 2项目,它渲染常规的强类型页面,但在其中一些页面上,我还想使用页面的对象来渲染母版页导航部分中的特定区域(div)。
例如,如果我有一个 Client 对象并且关联了强类型 View ,我希望 View 能够插入客户端 - 主页面导航中div内的特定导航项目。
我实际上通过创建一个 ViewData 项来保存 Client 对象,以一种不太优雅的方式实现了这一点 - 除了返回客户端对象之外查看。然后,Master Page将获取 ViewData 对象,如果它不为null,则呈现特定于客户端的导航部分。这种做事方式会变得非常难看,因为必须处理的不同对象的数量会增加。
我正在寻找的是一种在页面渲染过程中更新母版页导航中占位符(即空 div )的方法。任何C#,VB.NET或jQuery解决方案欢迎。
答案 0 :(得分:0)
为什么不像传统上使用网页表单一样使用母版页/占位符?我没有看到使用MVC如何指示这是以另一种方式完成的。
查看母版页:
<div id="menu">
<div>Item1</div>
<div>Item2</div>
<asp:ContentPlaceHolder ID="MenuContent" runat="server" />
</div>
查看:
<asp:Content ID="Content1" ContentPlaceHolderID="MenuContent" runat="server">
<%=Html.RenderAdditionalMenuItemsSomehow(Model) %>
</asp:Content>