扩展名“.cshtml”在子目录中不起作用

时间:2014-10-01 14:10:48

标签: asp.net-mvc-4 razor iis-8.5

cshtml页面不仅适用于子域的子目录。我们有一个主域,其中cshtml在'X'子目录文件夹上工作,但是我们有一个子域,其中根目录是主域的子目录,而cshtml在那里不起作用。在IIS上,主域和子域都有自己的应用程序池。主域的“X”子目录已转换为应用程序,并且cshtml页面正在运行。我们尝试完成相同的过程,但是我们遇到以下错误:

此类网页未投放。 描述:未提供您请求的页面类型,因为它已被明确禁止。扩展名“.cshtml”可能不正确。请查看下面的网址,确保拼写正确。

请求的网址:/test/test.cshtml

这是一个简单的测试文件,适用于主域子目录,但不适用于子域子目录。我认为是阻止的父域,“它已被明确禁止。”

On Handler Mappings扩展处于活动状态。 (Windows Server 2012 R2,IIS 8.5)

服务器安装了.NET Framework 4。该应用程序也在一个应用程序池中运行,该应用程序池配置为使用该版本的.NET Framework。

/ home / main_domain / X_subdirectory(适用于cshtml)

/ home / main_domain / sub_domain / subdirectory(不能使用cshtml)

你有什么想法吗?

以下代码给我一个内部错误:

<system.webServer>
   <security>
    <requestFiltering>
       <fileExtensions>
          <remove fileExtension=".cshtml" />
          <add fileExtension=".cshtml" allowed="true" />
       </fileExtensions>
     </requestFiltering>
   </security>
 </system.webServer>

参考:http://www.asp.net/web-pages/overview/more-resources/aspnet-web-pages-%28razor%29-troubleshooting-guide

将此添加到我的web.config也不起作用。

<configuration>
  <appSettings>
    <add key="webpages:Enabled" value="true" />
  </appSettings>
</configuration>

它工作的子目录被配置为Web应用程序:

  1. 在IIS管理器上(Win + R和复制%systemroot%\ system32 \ inetsrv \ iis.msc)

  2. 在左侧树中的目录上(\ Sites \ Main_domain \ sub_directory

  3. 列表项右键单击它,我选择“转换为应用程序”

1 个答案:

答案 0 :(得分:0)

如果您尝试直接访问该视图,请尝试此

"This type of page is not served." error when trying to browse on *.cshtml files

或尝试使用区域或制作自己的路由

ASP.NET MVC 2: View Subfolders?

相关问题