如何将css文件添加到cshtml文件中?

Posted

技术标签:

【中文标题】如何将css文件添加到cshtml文件中?【英文标题】:How to add css file to cshtml file? 【发布时间】:2021-10-31 01:37:33 【问题描述】:

我一直在尝试添加一个 css 文件来设置 cshtml 文件的样式,但到目前为止我没有成功。

这是我尝试做的:

    @model mvc.Models.LoginViewModel
@
    ViewData["Title"] = "Login";


<head>
    <div class="text-center">
        <h1 class="display-4">Login Page</h1>
    </div>
    <link rel="stylesheet" href="~/Content/login.css" type="text/css" />
</head>

Here is the directory tree with the two files I'm trying to link

编辑:当我将 css 样式放在 cshtml 中的“样式”标签中时,它就可以工作了。我希望有一种方法可以使用 css 文件。

你能帮帮我吗? 谢谢。

【问题讨论】:

这能回答你的问题吗? How to add a .css to a .cshtml 我试过了,但对我没用。 href="/Content/login.css" ../../Content/login.css 你需要最多 2 个文件夹。现在你的链接 Views/content/login.css 你需要去 /Content/login.css 我尝试上两个文件夹,还是不行。 【参考方案1】:

从你的项目结构来看,我想你可能对asp.net和asp.net core有误解。 .NET 5 是 .NET Core 的下一个版本。

你使用的是.NET 5.0,所以如果你想直接添加css引用,你需要将这些静态文件添加到根项目中的wwwroot文件夹。确保您在 Startup.cs 中添加了静态文件中间件:

app.UseStaticFiles();   //be sure add this...
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>

    endpoints.MapDefaultControllerRoute();
);

然后添加如下引用:

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

参考:Serve files in web root

如果你把静态文件放到根项目中的其他文件夹(例如Content文件夹),你需要先在Startup.cs中添加以下代码:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

    //...
    app.UseHttpsRedirection();
    app.UseStaticFiles();   // For the wwwroot folder.

    // using Microsoft.Extensions.FileProviders;
    // using System.IO;
    app.UseFileServer(new FileServerOptions
    
        FileProvider = new PhysicalFileProvider(
            Path.Combine(env.ContentRootPath, "Content")),
        RequestPath = "/StaticFiles",
        EnableDirectoryBrowsing = true
    );

    app.UseRouting();
    app.UseAuthorization();
    app.UseEndpoints(endpoints =>
    
        endpoints.MapControllerRoute(
        name: "default", pattern: "controller=Home/action=Index/id?");
    );

添加静态文件引用如下:

<link rel="stylesheet" type="text/css" href="/StaticFiles/login.css" />

参考:Serve files outside of web root

【讨论】:

以上是关于如何将css文件添加到cshtml文件中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 HTML 的 CSS 添加到 NSAttributedString?

angular2:如何按条件手动将css文件添加到index.html?

如何让asp.net core mvc发布时候不编译cshtml视图

将 .css 文件添加到 ejs

html+css如何在图片上添加文字

VS Code:如何将所有默认的 HTML 文件片段添加到反应 js 文件中?