如何使用c#文件在body标签上应用css类

Arv*_*nke 1 asp.net-mvc-3

我正在使用带有razor引擎的ASP.NET MVC3.我想根据页面调用在body标签上应用css类.我想在子页面中添加类名,它会影响具有body标签的布局页面.并且不想使用jquery,因为它在页面渲染后执行.我怎样才能做到这一点?

Aar*_*ron 6

虽然您可以完全控制HTML,但解决方案是需要的,所以这里有一个;-)

在_layout.cshtml页面中

<body class="@RenderSection("BodyClass", false)">
Run Code Online (Sandbox Code Playgroud)

这将在所有子页面中查找一个部分,但如果找不到,则不要担心

然后在您的孩子视图中执行此操作

@section BodyClass {productList}
Run Code Online (Sandbox Code Playgroud)

保持一行,然后输出的HTML看起来很好,你也可以建立类名.

@section BodyClass {productList generic}
Run Code Online (Sandbox Code Playgroud)

这个想法适用于DOM-Ready页面特定代码,为什么不检查 http://paulirish.com/2009/markup-based-unobtrusive-comprehensive-dom-ready-execution/

或者我的扩展版本 https://github.com/AaronLayton/H5BP-Core

我的方式允许您执行页面特定的代码,但允许您将所有Javascript保存在单独的页面中,以便每个页面变得易于管理.最后一步是将所有JS连接并缩小为1个文件;-)