文件未解析并生成404未找到的MVC

时间:2016-05-03 10:47:15

标签: css asp.net-mvc

我来自webforms背景,并且习惯于能够创建文件夹来存储我的资产,但现在我看到将所有内容加载到内容文件夹中的良好做法,因此我在content / front-end下创建了一个文件夹-theme与我的css和js文件。

然而,即使资源是他们的并且包含在项目中,也没有找到404文件。在webforms的日子里,我通常不得不包括runat = server,对于mvc来说是相同的。

在Source中查看其显示      

<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/rs-plugin/css/settings.css")" media="screen" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/css/bootstrap.css")">
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/css/animate.css")">
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/css/prettyPhoto.css")">
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/css/carousel.css")">
<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/style.css")">
<!-- COLORS -->
<link rel="stylesheet" type="text/css" href="Url.Content("~/Content/front-end-theme/css/custom.css")>

我使用以下格式对源进行编码,但正如您所看到的那样,它似乎没有附加localhost的完整URL,这就是我认为它不能找到js和css的原因。

<link rel="stylesheet" type="text/css" href="@Url.Content("~/Content/front-end-theme/css/prettyPhoto.css")">

屏幕截图显示我的项目布局。 enter image description here

1 个答案:

答案 0 :(得分:1)

或者,您可以使用捆绑和缩小来减少网页的加载时间,对服务器的请求数量以及所请求资产的大小。

<强> App_Start / BundleConfig.cs

Catalog catalog = (Catalog) context.getBean("spring.catalog");

<强> _Layout.cshtml

public static void RegisterBundles(BundleCollection bundles)
{
    BundleTable.EnableOptimizations = true;

    bundles.Add(new StyleBundle("~/css/bundles").Include(
        "~/Content/front-end-theme/rs-plugin/css/settings.css",
        "~/Content/front-end-theme/css/bootstrap.css",
        "~/Content/front-end-theme/css/animate.css",
        "~/Content/front-end-theme/css/prettyPhoto.css",
        "~/Content/front-end-theme/css/carousel.css",
        "~/Content/front-end-theme/style.css",
        "~/Content/front-end-theme/css/custom.css"
    ));
}

<强>的Web.config

@Styles.Render("~/css/bundles")

您在源视图中获得以下HTML:

<compilation debug="false" targetFramework="4.0" />

如果您将<link href="~/css/bundles?v=8DkUq-AixyqzByiFjkZ6JsVVx0oqXMUyZTjHBAozp8I1" rel="stylesheet"/> 更改为debug,则会获得以下HTML:

true