从视图更新母版页

时间:2010-09-10 12:44:08

标签: c# jquery asp.net-mvc vb.net

我有一个ASP.NET MVC 2项目,它渲染常规的强类型页面,但在其中一些页面上,我还想使用页面的对象来渲染母版页导航部分中的特定区域(div)。

例如,如果我有一个 Client 对象并且关联了强类型 View ,我希望 View 能够插入客户端 - 主页面导航中div内的特定导航项目。

我实际上通过创建一个 ViewData 项来保存 Client 对象,以一种不太优雅的方式实现了这一点 - 除了返回客户端对象之外查看。然后,Master Page将获取 ViewData 对象,如果它不为null,则呈现特定于客户端的导航部分。这种做事方式会变得非常难看,因为必须处理的不同对象的数量会增加。

我正在寻找的是一种在页面渲染过程中更新母版页导航中占位符(即空 div )的方法。任何C#,VB.NET或jQuery解决方案欢迎。

1 个答案:

答案 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>