VB.net通过MVC站点中的ViewBag传递网格模板区域和网格模板列的值

时间:2018-09-07 23:08:50

标签: css vb.net model-view-controller viewbag

我有一个使用VB.net MVC 5的胚胎站点,在_layout页面中,我有主要结构(页眉,导航,页脚等)。该标记也在布局页面中,并且在“视图”页面中唯一的内容是正文html。我正在使用网格来排列内容的元素,并且试图找出如何在每页的基础上设置grid-template-areas和grid-template-columns值。当前,以下样式包含在布局页面中。

<style>
    .cc-grid {
        grid-template-columns: 50% 50%;
        grid-template-areas: 'cap1 cap1' 'cap2 cap3' 'cap4 cap3';

    }
</style>

我尝试过使用viewBag参数将grid-template-areas字符串('cap1 cap1''cap2 cap3''cap4 cap3')作为属性传递如下:

grid-template-areas: @ViewBag.Areas;

,然后在实际内容中使用以下值分配值:

@ViewBag.Areas = "'cap1 cap1' 'cap2 cap3' 'cap4 cap3'"

传递字符串的值(我通过将@ ViewBag.Areas放入

标记中进行了测试,它确实显示了正确的字符串。这似乎在将值呈现在CSS。

如果无法在CSS中使用ViewBag,那么与在布局页面中相比,按页面设置这种样式属性的最佳方法是什么?

当我在Edge中检查页面时,页面呈现如下:

grid-template-areas: &#39;cap1 cap1&#39; &#39;cap2 cap3&#39; &#39;cap4 cap3&#39;;

因此,单引号似乎呈现为&#39。

预先感谢

特里

1 个答案:

答案 0 :(得分:0)

感谢这个答案:

Javascript, Razor and Escape characters. Like apostrophe

基本上,我必须这样使用html.raw:

ViewBag.Areas = Html.Raw("'cap1 cap1' 'cap2 cap3' 'cap4 cap3'")