MVC5香草布局没有显示

时间:2015-03-26 15:45:47

标签: css asp.net-mvc razor

我正在尝试从头开始构建我的第一个MVC5 / Razor应用程序,而不是包含从一开始就包含所有引用时所获得的所有膨胀。

我有一个带有Home和Shared文件夹的Views文件夹。 Home包含Index.cshtml和包含_Layout.cshtml的Shared文件夹。包含Site.css和bootstrap.css的Content文件夹正在路由。

修改 我无法使用样式表来使用MVC构建。目前没有影响索引页面的样式,我已经做了测试,看看布局页面是否正在投入使用,但是由于某些原因,css没有被使用。

我不确定我做错了什么,并在下面列出了每个文件的参考路径。有人可以指出我正确的方向吗?

Index.cshtml

@{
ViewBag.Title = "Home Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}

_Layout.cshtml

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - Some App </title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
</head>

_ViewStart.cshtml

@{
Layout = "~/Views/Shared/_Layout.cshtml";
}

BundleConfig.cs

bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Content/site.css"));

2 个答案:

答案 0 :(得分:1)

Styles.RenderScripts.Render并非特定于捆绑。它们只包含适当的HTML标记以引用指定的文件。 MVC中的捆绑框架实际上在其工作时在该位置创建文字文件。换句话说,它是两个独立的功能部分。

我的猜测是你实际上并没有真正创建捆绑包,因此参考文件不存在。在MVC中捆绑需要Microsoft ASP.NET Web Optimization Framework Nuget package,因此请确保已安装。

另外,FWIW,确实没有那么多&#34;膨胀&#34;在MVC项目模板中。除了我总是删除的jQuery-UI之外,其他所有内容都是必要的,无论如何都要迟早添加。

答案 1 :(得分:1)

看起来你和克里斯已经碰到了它,捆绑就是问题。

我同意你不想使用微软的所有东西,或者如果你不使用微软的东西,或者为了让一切从头开始工作的所有'球疼',我从现成的MVC中删除你不想要的东西,即:摆脱OWIN ref。

如果没有看到更多代码,我无法进一步提升,但如果您需要快速修复:

在_Layout.cshtml <head>

中查看以下内容
<link href="~/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="~/Content/bootstrap.css" rel="stylesheet" type="text/css"/>

<强>更新

快速思考 - 你的Global.asax中有BundleConfig.RegisterBundles(BundleTable.Bundles);吗?如果你没有,那就是它无法正常工作的原因。