2

我希望我的 css 样式块有一些灵活性,所以我决定注入一些服务器端代码,fe

#defaultGameContainer {
            position: relative;
            width: @(SiteConfig.Instance.Game.Width + "px");
            height: 600px;
            top: 100px;
            left: 50%;
            margin-left: -480px;
        }

但它似乎不起作用,我在 VS 中有一个错误,比如“意外的字符序列......”我们是否被限制在 css 中使用 Razor 语法?谢谢。

4

4 回答 4

5

实际上,您可以按照以下说明CSS为特定视图添加自定义块:.cshtml

首先,在.cshtml视图中定义您的自定义 CSS 块

@section CustomCSS{ 
<style>
    #floorsList > tbody > tr > td {
        vertical-align: middle
    }
</style>
}

然后,您需要将此CustomCSS 部分嵌入_layout.cshtml文件中:

<!DOCTYPE html>
<html>
 <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title - Your Application</title>
    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")
    @RenderSection("Styles", false)
    <!--Consider the following line -->
    @RenderSection("CustomCSS", required: false)
 </head>
 <body>
 </body>
</html>
于 2017-07-18T09:25:57.563 回答
3

css/js 文件不被 mvc razor 视图引擎解析

您可以创建返回纯文本的 CssController (确保项目目录中没有 Css 文件夹)

控制器:

public class CssController : Controller
{
    [OutputCache(Duration = 6000, VaryByParam = "l")]
    public ActionResult generatecss()
    {
        return View("generatecss");
    }
}

查看:generatecss.cshtml

@{ Layout = ""; }
#defaultGameContainer {
        position: relative;
        width: @(SiteConfig.Instance.Game.Width + "px");
        height: 600px;
        top: 100px;
        left: 50%;
        margin-left: -480px;
    }

把它作为样式表放在布局中

<link href="~/Css/generatecss" rel="stylesheet"/>
于 2013-10-14T12:31:44.703 回答
1

我相信您可以将 LESS Css 用于 .NEThttp://www.dotlesscss.org/

于 2013-10-14T08:35:42.097 回答
0

谢谢你们!你建议的一切都很好!在实验结束时,我发现它甚至可以处理那些烦人的 VS 警告。所以我们可以<style>...</style>在 main 的块中混合 c# 和 css_layout.cshtml并忽略这些警告。

于 2013-10-15T13:35:08.193 回答