基于视图(子页面)在Layout.cshtml中使用不同的css类呈现标记?

时间:2014-10-16 00:07:36

标签: css .net asp.net-mvc asp.net-mvc-4

虽然在某个机构设计的MVC网站中实现了html模板,但我面临着一些挑战。模板包含不同的html页面,这些页面在body标签中应用了不同的css类。我已将所有网页的常见部分转换为Layout/Master Page,因此<body>标记也位于Layout/Master Page

问题是我应该如何使用应用于标记的不同css类来呈现布局(HTML)?

2 个答案:

答案 0 :(得分:2)

只需在各种子视图中加载特定的css文件即可。您可以在每种情况下覆盖正文样式。

答案 1 :(得分:2)

从布局中删除body标签。将它放在每个主视图模板中并在那里设置主体类。

只需确保将所有部分(如标题,顶部导航,左侧导航,页脚)放在body标记内。需要注意的是,您必须将body标记放在每个主视图中,但它允许您将所需的任何类应用于<body>标记。

除此之外,您可以使用JavaScript将类添加到正文中。在每个需要更改主体类的视图中使用JavaScript:

  1. $("body").addClass("yourClassName");

  2. <body>标记添加id属性:<body id="body"> ... </body> document.getElementById("body").className = "yourClassName";