Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Razor与托管在IIS上的ASP.NET一起使用(不是MVC)_Asp.net_Iis_Razor - Fatal编程技术网

将Razor与托管在IIS上的ASP.NET一起使用(不是MVC)

将Razor与托管在IIS上的ASP.NET一起使用(不是MVC),asp.net,iis,razor,Asp.net,Iis,Razor,我正在尝试在没有MVC的情况下使用Razor。。我创建了一个新的ASP.NET空Web应用程序,然后安装了以下软件包:Microsoft.AspNet.Razor 然后,我在目录的根目录中得到了一个Index.cshtml,但当我启动站点时,我得到了以下错误: HTTP Error 403.14 - Forbidden A default document is not configured for the requested URL, and directory browsing i

我正在尝试在没有MVC的情况下使用Razor。。我创建了一个新的ASP.NET空Web应用程序,然后安装了以下软件包:
Microsoft.AspNet.Razor

然后,我在目录的根目录中得到了一个
Index.cshtml
,但当我启动站点时,我得到了以下错误:

HTTP Error 403.14 - Forbidden
A default document is not configured for the requested URL, 
    and directory browsing is not enabled on the server.
如果我添加一个
Index.html
文件,它可以正常工作,但我想使用Razor。是否需要进行其他配置?我的
web.config
如下所示:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5.1" />
    <httpRuntime targetFramework="4.5.1" />
  </system.web>

  <runtime>

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
      </dependentAssembly>
    </assemblyBinding>

  </runtime>
</configuration>

我正在使用Visual Studio 2013和IIS Express 8

注 我所做的只是创建一个新的空web应用程序,保留web API、web表单、未选中MVC、没有身份验证

已安装:
Microsoft.AspNet.Razor
通过nuget安装

在根目录中创建
Index.cshtml
页面,并在本地启动站点以重现错误

HTTP错误403.14-禁止 未为请求的URL配置默认文档, 服务器上未启用目录浏览

上述内容比“Razor”sytnax更能说明IIS/ASP.Net问题。您配置的站点是否已启用ASP.Net、AppPool(.Net 4)等?index.html之所以有效,是因为它只是IIS乐于提供的html页面,而不是特定于应用程序(ASP.Net)的
csthtml
(或
aspx
vbhtml

  • 不“需要”MVC-您可以将其愉快而有效地用于任何您想要的模型-应用程序(包括MVC)或“网站”(WebMatrix、网页等)

  • 我从未在WebForms(aspx)页面上尝试过Razor,我也不认为我想尝试:),但如果您尝试过(或真的需要),下面是


    • 请看我的答案。您的问题可能与您的资源映射有关。

      说明您的目的?它是用于生成完整的网页还是使用模板之类的东西来生成文档(如html文档)?如果你想从马匹嘴里听到它:不是因为他们说的是在.aspx页面中使用Razor语法(@),我只想让IIS呈现一个以html呈现的.cshtml页面吗?@TrueBlueAussie
      Razor
      语法并不“需要”控制器-正如BillBaffBoff所说的那样…我明白你的意思,但是添加整个MVC框架只是为了让Razor工作似乎有点冗长..我没有在WebForms或MVC中使用Razor,目前它只是一个空的ASP站点,有一个文件(Index.cshtml),当我使用VisualStudio13在IIS Express中运行它时,我得到了它error@BiffBaffBoff-您的意思是以VS或其他方式“使用IIS Express”(例如,手动创建IIS站点)?如果显式浏览
      index.chtml
      ,会发生什么情况?是的,IIS Express in VS.当我浏览
      /index.cshtml
      时,它表示不允许服务器显示该文件类型。我让同事在他们的机器上尝试此操作,但他们都会遇到相同的错误。@biffbaffoff这表明您的“站点”未设置为处理cshtml文件(IIS/ASP.net设置和/或所需的程序集)。您的
      /bin
      文件夹中是否有?