我正在尝试扩展System.Web.WebPage
该类以公开一个名为RenderZone
:
using System.Web.WebPages;
public static class WebPageExtensions
{
public static HelperResult RenderZone(this WebPage webPage, int zone) {
return webPage.RenderPage("~/_RenderWidgets.cshtml", new {ZoneId = zone});
}
}
这可行,但为了在页面文件(.cshtml)中调用扩展方法,我必须在方法调用前加上this
例如
@this.RenderZone(1)
有没有办法扩展 WebPage 类型,以便我可以this
以类似于从 cshtml 文件中调用 RenderPage 的方式省略?
@RenderPage("~/_PageToRender.cshtml")