0

我在我的 MVC 应用程序文件夹中放置了一个 Index.js 和一个 Index.css 文件Views/MemberField
Copy always为这两个文件设置。

我尝试使用以下方法加载它们:

<link href="@Url.Content("~/Views/MemberField/Index.css")" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="@Url.Content("~/Views/MemberField/Index.js")">

给出以下 html 输出:

<link href="/Views/MemberField/Index.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/Views/MemberField/Index.js"></script>

到目前为止,一切都很好。

但是这两个文件无法访问。

The resource cannot be found.

我认为这是因为一些路由机制,所以我对我的 RouteConfig.cs 文件进行了一些篡改。

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.RouteExistingFiles = false;

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.IgnoreRoute("{file}.css");
        routes.IgnoreRoute("{file}.js");

        routes.MapRoute(
            name: "Default"
            , url: "{culture}/{controller}/{action}/{id}"
            , defaults: new { culture = UrlParameter.Optional, controller = "GlobalSettings", action = "Index", id = UrlParameter.Optional }
            , namespaces: new[] { "MygLogWeb" }
        );
    }
}

但这并没有改变任何事情。

怎么了?

4

1 回答 1

3

好的,修好了。

我看错了方向。
Visual Studio 在 Views 文件夹中创建一个 web.config 文件,其中包含以下行:

<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />

我只需要更改为

<add name="BlockViewHandler" path="*.cshtml" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
于 2013-11-06T13:32:24.107 回答