3

我知道这是一个非常奇怪的要求,但长话短说,开发人员的 URL 错误,现在已经打印在材料上。该 url 是一个 .cshtml 文件,显然不允许通过 IIS 访问该文件。

我需要允许这个特定的 cshtml 或所有这些在浏览器中呈现为纯 html。

帮助将不胜感激。

4

3 回答 3

2

This might not NOT the best solution, but it is the one I know of the top of my head.

Go to your Global.asax file. From there go inside of or create the Application_AcquireRequestState function as so:

void Application_AcquireRequestState(object sender, EventArgs e) { }

Inside the above function check to see if the path matches your .cshtml file. If so, do Server.Transfer to a regular aspx page.

You might also have to go into IIS settings and enable cshtml to be served.

于 2013-08-14T16:44:26.817 回答
0

您可以使用 Application_BeginRequest 事件来检查文件的扩展名并应用一些逻辑然后重定向它们。

在 Global.asax.cs 文件中:

protected void Application_BeginRequest()
    {
        if (Request.Url.AbsolutePath.EndsWith(".cshtml"))
        {
            //Your logic to apply
            Response.RedirectToRoutePermanent("Default"); 
        }
    }
于 2013-08-14T16:53:08.727 回答
0

您可以将 IIS mod_rewrite 扩展与正则表达式一起用于所有 cshtml 文件,或者仅使用这个特定的文件。

http://www.iis.net/downloads/microsoft/url-rewrite

或者,在 IIS 管理器中使用 MIME 类型配置并将 .cshtml 添加为 text/html 类型

于 2013-08-14T16:40:25.673 回答