我有一个使用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: 'cap1 cap1' 'cap2 cap3' 'cap4 cap3';
因此,单引号似乎呈现为&#39。
预先感谢
特里
答案 0 :(得分:0)
感谢这个答案:
Javascript, Razor and Escape characters. Like apostrophe
基本上,我必须这样使用html.raw:
ViewBag.Areas = Html.Raw("'cap1 cap1' 'cap2 cap3' 'cap4 cap3'")