You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在RazorLight中使用独立文件中的CSS?

在RazorLight中分离CSS与CSHTML文件的实现方案

方法1:嵌入资源方式加载外部CSS

  • 将CSS文件设置为项目的嵌入资源:右键CSS文件 → 属性 → 生成操作选择「嵌入的资源」
  • 在.cshtml模板中,通过程序集引用加载CSS内容:
<style>
    @await RenderEmbeddedResourceAsync(typeof(YourProjectClass).Assembly, "YourNamespace.FolderPath.YourStyle.css")
</style>
  • 替换说明:YourProjectClass用项目中任意类的类型即可,YourNamespace.FolderPath.YourStyle.css是CSS文件的完整嵌入路径(可通过编译后的资源清单确认)

方法2:通过模板参数传递CSS内容

  • 渲染模板前读取外部CSS文件内容,作为参数传入:
var cssContent = File.ReadAllText("本地CSS文件的绝对/相对路径");
var renderResult = await razorEngine.CompileRenderAsync("模板名称", new { Css = cssContent });
  • 在.cshtml模板中直接输出参数里的CSS:
<style>
    @Model.Css
</style>

方法3:使用布局模板统一管理样式

  • 创建通用布局模板(如_Layout.cshtml),在布局中集中引入CSS:
<!DOCTYPE html>
<html>
<head>
    <style>
        @await RenderEmbeddedResourceAsync(typeof(LayoutHelper).Assembly, "YourNamespace.Resources.Global.css")
    </style>
</head>
<body>
    @RenderBody()
</body>
</html>
  • 业务模板中指定使用该布局:
@{
    Layout = "_Layout";
}
<!-- 模板业务内容 -->

内容的提问来源于stack exchange,提问作者Dronius

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 22:19:51