1. 程式人生 > >自定義Razor頁面的父型別

自定義Razor頁面的父型別

一、定義Razor頁面的父類

namespace MvcNHibernateFirst.Web
{
    public abstract class WebViewPage<TModel> : System.Web.Mvc.WebViewPage<TModel>
    {
        public string TopName = "TopName";
    }

    public abstract class WebViewPage : WebViewPage<dynamic>
    {
    }
}

二、修改Views下的Web.config檔案

<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">-->
  <pages pageBaseType="MvcNHibernateFirst.Web.WebViewPage">
    <namespaces>
      <add namespace="System.Web.Mvc" />
      <add namespace="System.Web.Mvc.Ajax" />
      <add namespace="System.Web.Mvc.Html" />
      <add namespace="System.Web.Optimization"/>
      <add namespace="System.Web.Routing" />
    </namespaces>
  </pages>
</system.web.webPages.razor>

三、在Razor檢視中使用自定義父類中的內容

<h2>HomeController->Index</h2>

<form method="post" action="/Home/Create">
   @TopName
</form>

四、執行截圖如下