我将我的MVC视图从Webforms更新为Razor。
我所做的是我手动重写Razor中的所有代码并从项目中排除了aspx。到现在为止还挺好。
现在,当我运行网站时,发生了一些奇怪的事情。即使我将它们从项目中排除并用Razor视图替换它们,我仍然可以获得Webforms视图。
我确实将其添加到我的Web配置文件中:
<configSections>
<sectionGroup name="system.web.webPages.razor"
type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup,
System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35">
<section name="host"
type="System.Web.WebPages.Razor.Configuration.HostSection,
System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages"
type="System.Web.WebPages.Razor.Configuration.RazorPagesSection,
System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup> </configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory,
System.Web.Mvc, Version=3.0.0.0, Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages> </system.web.webPages.razor>
我从views文件夹中将此块添加到我的Web配置中。 我还添加了一个_ViewStart.cshtml
答案 0 :(得分:1)
我认为IIS不会关注.csproj
个文件。因此,如果您的.aspx
文件仍在目录中,则会找到它们,.aspx
优先于.cshtml
个文件。你必须删除它们或移动它们。 (或者编写自己的ViewEngine,但我怀疑这是值得的。)