从 _Layout.cshtml 覆盖宽度

override width from _Layout.cshtml

在我的共享布局中,我在主体容器上指定了宽度 div。

有没有办法仅在我的一个视图中覆盖此宽度? 我想继续使用共享布局的其余部分。

谢谢。

您可以使用在 ViewBag 中传递的参数指定宽度。如果参数不存在,则使用默认值。

在_Layout.cshtml中:

@{ var layoutWidth = ViewBag.LayoutWidth ?? "640px" /* default value */;  }
<div id="body-container" style="width: @layoutWidth;"> ... </div>

在覆盖宽度的视图中:

@{ ViewBag.LayoutWidth = "480px"; }

有3种解法:

1) 在每个视图中放置主体容器。

2) 内部视图 <style> .body-container {width: 1000px!important} </style>

3) 使用javascript覆盖css.