首先我们可以在MVC 项目中的Views 目录下的 webconfig 文件中找到如下的Razor 基类
<pagespageBaseType="System.Web.Mvc.WebViewPage">
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
然后这个基类是WebPageBase类的子类,下面我们自定义一个CustomWebViewPage 继承 WebViewPage 类:
using System;
using System.Web.Mvc;
using System.Web.WebPages;
public abstract class CustomWebViewPage<T> : WebViewPage<T>
{
public HelperResult RenderSection(string name, Func<dynamic, HelperResult> defaultContents)
{
if (IsSectionDefined(name))
{
return RenderSection(name);
}
return defaultContents(null);
}
}
然后修改Web.Config 基类:
<pagespageBaseType="System.Web.Mvc.CustomWebViewPage">
然后就可以在Razor 里面调用了
@RenderSection("SectionName",@<h2>Default</h2>)