如何从.cshtml页面调用外部样式表?

时间:2018-01-11 11:17:35

标签: css asp.net-mvc visual-studio asp.net-mvc-4 razor

我有一个视图页面(View.cshtml)和一个样式表(Style.css)。

样式表位于名为"样式表"的文件夹中,视图页面位于Views / Home / View.cshtml中。我试图通过以下代码将样式表链接到视图页面:

<link rel="stylesheet" type="text/css" href="~/Stylesheet/Style.css">

当我运行项目时,它显示了视图页面的内容,但未实现样式。我可以知道我做错了什么吗?

更新

View.cshtml

<!DOCTYPE html>

<head>
    <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="~/Stylesheet/Style.css" /> ‌
    <title>Test Page</title>
</head>

<body>

    <div id="topHeader">
        <br />

        <div id="credentialsBox">

            <div id="texts">
                <div id="word1">Username:</div>
                <div id="word2">Password:</div>
            </div>
        </div>
    </div>
</body>

的style.css

@font-face {
    font-family: 'proximanova';
    src: url('../fonts/proximanova-light-webfont (2)_0.ttf') format('truetype');
}


/*CSS Styling Properties*/
body {
    font-family: proximanova;
    margin: 0;
    background-color: #007381;
}

#topHeader{
    margin-top: 15%;
    height: 450px;
    background-color: #d6d6d6;
}

#credentialsBox {
    border-radius: 3%;
    width: 20%;
    margin: auto;
    margin-top: -5%;
    background-color: #ffffff;
}

#texts {
    padding: 14%;
    text-align: center;
}

_Layout.cshtml

<!DOCTYPE html>
<html>

    <head>
        @RenderSection("css", false)
    </head>

    <body>
        @RenderBody()
    </body>

</html>

很抱歉,如果CSS样式有点乱,我正在努力学习:D

3 个答案:

答案 0 :(得分:0)

您也可以使用@Url.Content代替css文件的绝对路径。

<link href="~/Stylesheet/Style.css" rel="stylesheet" type="text/css" />

<link href="@Url.Content("~/Stylesheet/Style.css")" rel="stylesheet" type="text/css" />

答案 1 :(得分:0)

如果您是自己的自定义CSS文件,请确保将该文件添加到App_Start文件夹中的BundleConfig.cs文件中。看起来像这样......

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

在你的脑子部分尝试替换

<head>
    @RenderSection("css", false)
</head>

  <head>
  @Styles.Render("~/Content/css")
  </head>

看到它会有所作为,我们将从那里开始。

答案 2 :(得分:0)

我已经解决了这个错误。我把我的样式表放在“wwwroot / css”里面就可以了。