我正在使用带有剃须刀引擎的ASP.NET MVC3。我想根据页面调用在body标签上应用css类。 我想在子页面添加类名,它会影响具有body标签的布局页面。 并且不想使用jquery,因为它在页面呈现后执行。 我该怎么做?如何使用C#文件在body标签上应用css类
回答
首先,jQuery的.ready函数在DOM可用后执行,因此它是开始与页面元素进行交互的最佳时机。 (http://api.jquery.com/ready/)如果您遇到导致样式“闪烁”的行为,则可能无法将display:none应用于body元素,并在应用了css类后将其删除。
但是如果你真的不想使用jQuery,你应该考虑制作一个变量来保存你的css类名作为你的控制器发送给Views的viewmodel的一部分,或者使用ViewBag.CssClass在你的每个控制器的动作中(或者在基本控制器的OnActionExecuting方法中声明)
这里要考虑的事情是理解和遵循MVC模式,其中视图和业务逻辑应该被分开,所以我认为你应该避免涉及控制器在视图中构建过程
虽然您可能完全控制了HTML,但解决方案是需要的,因此这里是一个;-)
在_layout.cshtml页面
<body class="@RenderSection("BodyClass", false)">
这将寻找在所有子页面的部分,但如果它无法找到你的孩子一个视图
然后说不用担心只要做到这一点
@section BodyClass {productList}
保持在一行,然后输出的HTML看起来很好,也可以建立类名称。
@section BodyClass {productList generic}
这种想法去完善与DOM就绪页特定的代码,为什么不签 http://paulirish.com/2009/markup-based-unobtrusive-comprehensive-dom-ready-execution/
还是我在这里扩展版本 https://github.com/AaronLayton/H5BP-Core
我的方式让你做网页的特定代码,但允许你将所有的Javascript保存在不同的页面中,这样每个页面都可以轻松管理。最后一步将是串联和所有的JS再压缩至1个文件;-)
阿龙的回答上面MVC 3的伟大工程,但我发现,MVC 4,当单线上部分的语句扼流圈:
@section BodyClass {productList}
相反,你需要使用:
@section BodyClass {@("productList")}
这是很容易简单地把你的主要布局以下
<body class="@ViewBag.BodyClass">
然后在内容页的说:
@{
ViewBag.BodyClass = "myClass";
}
问题解决了!
- 1. 阅读<body>使用C#编写HTML文件的标签
- 2. 如何使用css为body标签设置背景图片?
- 3. 如何在我的响应式css上使用ID标签?
- 4. 如何将backstrech插件应用于div而不是body标签?
- 5. 将css类添加到body标签c的反射#
- 6. Magento的2:如何CSS类添加到body标签编程
- 7. 如何调用Body标签内的Javascript文件
- 8. 如何在CSS中使用*标签?
- 9. 如何在serverfbml标签内使用CSS?
- 10. 在锚标签上使用CSS Sprite
- 11. 我如何在HTML body标签内找到内联CSS样式?
- 12. AngularJs始终应用类最后一个body标签
- 13. 如何在一个类上应用css?
- 14. 如何在css标签中使用django模板标签?
- 15. 如何在yii2的布局中将css类添加到body标签中?
- 16. 获取文本body标签
- 17. 如何将css标签仅应用于指定的类
- 18. 如何使用CSS定位div标签
- 19. 如何在auth-required应用上使用OpenGraph标签?
- 20. 如何使用jquery在标签上应用遮罩?
- 21. 如何在iframe标签上使用onclick
- 22. 如何使用CSS上Html.ActionLink在C#
- 23. 我该如何在xsl文件中应用URL和Quote标签的CSS样式?
- 24. 如何在html文本输入标签中使用上标?
- 25. 我如何使用用户控件标签的css?
- 26. 应用CSS文本,是不是在任何标签
- 27. 如何在使用wx.html2时应用标签条件?
- 28. CSS:标签在哪里应用?
- 29. 如何将</body>标签ASP.NET
- 30. 使用CSS居中标签
我已经使用了这个方法一段时间,但它不喜欢MVC 4中的单行节语句。你是否也看到过MVC 4?有任何想法吗? – 2013-02-19 20:17:28
我刚找到答案。我会在下面发布。 – 2013-02-19 20:41:38