允许浏览器点击.cshtml文件并显示内容

时间:2013-08-14 16:24:31

标签: asp.net-mvc iis razor iis-7

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

我需要允许这个特定的cshtml或它们全部在浏览器中呈现为纯HTML。

帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

这可能不是最好的解决方案,但它是我所知道的最重要的解决方案。

转到Global.asax文件。从那里进入或创建Application_AcquireRequestState函数,如下所示:

void Application_AcquireRequestState(object sender, EventArgs e) { }

在上面的函数中检查路径是否与.cshtml文件匹配。如果是这样,请Server.Transfer到常规的aspx页面。

您可能还需要进入IIS设置并启用cshtml。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

在Global.asax.cs文件中:

protected void Application_BeginRequest()
    {
        if (Request.Url.AbsolutePath.EndsWith(".cshtml"))
        {
            //Your logic to apply
            Response.RedirectToRoutePermanent("Default"); 
        }
    }