解决方法
这与Aaron的解决方案非常相似,但是没有一个部分的重量(至少在我看来,它是用于比单个字符串更大的内容块).最简单的方法是使用ViewBag传递变量.
在你的布局中,只需打印出body标签的类,以及任何其他页面特定的变量(页面标题,额外的css / js脚本等……)
_Layout.cshtml:
<html> <title>@ViewBag.Title</title>@* Can easily add in per page titles too *@ <body class="@ViewBag.BodyClass"> @RenderBody() </body> </html>
然后,视图中设置的变量将向上传递到布局:
Index.cshtml:
@model Myviewmodel @{ ViewBag.Title = "This page title!"; ViewBag.BodyClass = "..."; }