剃刀 – MVC布局VS MVC主页

前端之家收集整理的这篇文章主要介绍了剃刀 – MVC布局VS MVC主页前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开始学习MVC4。我遇到了基于剃刀模板或主页创建视图的两种可能性。

我想了解两者之间的实际差异。

现在,我可以看到,如果我使用主页面创建一个视图,我可以覆盖几个部分。例如,如果我的主人定义了一个“左列”占位符和一个“正文”占位符,我不仅可以为特定视图定义正文,还可以在“左列”部分中显示内容,以显示控件绑定到页面的上下文(从搜索框到股票报价查看器)。
此外,无法通过使用Razor模板来定义主页面,这些模板比其他语法更为冗长(部分错误someone设法破解此方面)。

使用Razor Layouts,我只能定义一个可以被特定视图覆盖的页面的一个连续块,并且我应该使用多个布局(打破DRY)在页面的其他部分进行一些更改。我以前的陈述是正确的还是我错过了什么?

显然,我可以通过充分利用jQuery来呈现页面任何部分的内容,但这又是另一回事

解决方法

您可以使用剃须刀的部分。 Scott Gu在这里写道: http://weblogs.asp.net/scottgu/archive/2010/12/30/asp-net-mvc-3-layouts-and-sections-with-razor.aspx

在您的布局中,您可以根据需要定义多个部分:

<div id="leftMenu">
    @RenderSection("LeftMenu",required: false)
</div>

您可以在视图中覆盖它:

@section LeftMenu {
    <div>... here comes the left menu for this view ...</div>
}

您还可以测试视图中是否已经定义了一个部分,如果不提供一些默认内容

@if (IsSectionDefined("LeftMenu")) { 
    @RenderSection("LeftMenu")
}
else { 
    <div>Some default left menu</div>
}
原文链接:https://www.f2er.com/aspnet/252133.html

猜你在找的asp.Net相关文章