標籤:white entry 精簡 cti code perm mode 文本編輯 size
脫離Visual Studio,只用文字編輯器、.NET Framework、IIS Express建立ASP.NET MVC應用時,需要精簡~/View目錄下web.config檔案內容,之前建立的asp.net mvc hellow world應用一切正常,在清理web.config檔案後,出現如下錯誤:
The view must derive from WebViewPage, or WebViewPage<TModel>. (The view at ‘~/Views/home/index.cshtml’ must derive from WebViewPage, or WebViewPage<TModel>.)
詳細的解決方案,請參考這裡:https://blogs.msdn.microsoft.com/gaurav/2014/01/14/the-view-must-derive-from-webviewpage-or-webviewpagetmodel-the-view-at-viewshomeindex-cshtml-must-derive-from-webviewpage-or-webviewpagetmodel/
Web應用根目錄下的Web.config檔案可以沒有,只要有Global.asax檔案就行,但為瞭解析MVC中cshtml格式檔案,一種是使每個頁面繼承自“@inherits System.Web.Mvc.WebViewPage”,_ViewStart.cshtml檔案繼承自@inherits System.Web.WebPages.StartPage;這樣每個頁面都寫也挺麻煩,第二種方法就是增加~/View目錄下的web.config,最簡形式作者做了說明,這裡拷貝一份,以備後用:
<?xml version="1.0"?><configuration> <configSections> <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35"> <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral,PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> </sectionGroup> </configSections> <system.web.webPages.razor> <pages pageBaseType="System.Web.Mvc.WebViewPage" ></pages> </system.web.webPages.razor></configuration>
備忘:上文中建立的最簡但的ASP.NET MVC應用helloworld,只在view中列印一行文本,以驗證MVC中Controller和View運行是否正確。
拋開visual studio,純手工建立asp.net mvc遇到的問題