Asp.net mvc 如何在使用Box时构造网站
我正在设计一个网页,需要有框(部分视图)的左侧和右侧的主要内容。这些框将包含额外的信息,就像这样。我想分组的网页,所以某些网页将有一些框,而另一组网页将有其他框 不过,我对如何在MVC.NET中最好地实现这一点表示怀疑 我看到两种选择: 1) 在每一页上,我都包含了我需要的部分控件 2) 创建子母版页,我可以在其中分配页面,并且可以控制应显示哪些局部视图Asp.net mvc 如何在使用Box时构造网站,asp.net-mvc,partial-views,Asp.net Mvc,Partial Views,我正在设计一个网页,需要有框(部分视图)的左侧和右侧的主要内容。这些框将包含额外的信息,就像这样。我想分组的网页,所以某些网页将有一些框,而另一组网页将有其他框 不过,我对如何在MVC.NET中最好地实现这一点表示怀疑 我看到两种选择: 1) 在每一页上,我都包含了我需要的部分控件 2) 创建子母版页,我可以在其中分配页面,并且可以控制应显示哪些局部视图 有没有其他更聪明或更容易实现的方法呢?因此页面上的框与页面内容严格相关,因此我将创建一个包含3个内容占位符的母版页(Site.master):
有没有其他更聪明或更容易实现的方法呢?因此页面上的框与页面内容严格相关,因此我将创建一个包含3个内容占位符的母版页(Site.master):
RenderAction
创建新请求以呈现部分页面。它可能更容易使用,但我会使用RenderAction
来显示与主视图不共享任何信息的框(例如,如果您想显示“时钟”框、“最新下载”框或“登录”框) 将内容放入页面侧栏的方法有很多
<asp:ContentPlaceHolder ID="LeftContent" runat="server" />
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
<asp:ContentPlaceHolder ID="RightContent" runat="server" />
<asp:Content runat="server" ContentPlaceHolderID="RightContent">
<% Html.RenderPartial("RelatedTagsInfo", ViewData['RelatedTagsInfoModel']) %>
<% Html.RenderPartial("RelatedQuestionsInfo", ViewData['RelatedQuestionsModel']) %>
<asp:ContentPlaceHolder ID="RightContentSubcontent" runat="server" />
</asp:Content>
<asp:Content runat="server" ContentPlaceHolderID="RightContent">
<% Html.RenderAction("RelatedTagsInfo", "Question", new { id = Model.Id} ) %>
<% Html.RenderAction("RelatedQuestionsInfo", "Question", new { id = Model.Id} ) %>
<asp:ContentPlaceHolder ID="RightContentSubcontent" runat="server" />
</asp:Content>