我有一个HtmlHelper将网格呈现为表格,在MVC2中我会使用以下语法从视图中调用它...
<%=
Html.MyLibrary().Grid<MyGridItem>()
.Name("MyGrid")
.Width("100%")
.Render()
%>
注意它使用模板。在使用Razor的MVC3中,它不会编译,似乎因为左尖括号'&lt;'正在混淆html。为了解决这个问题,我可以用花括号括起来......
@{Html.MyLibrary().Grid<MyGridItem>()
.Name("MyGrid")
.Width("100%")
.Render();}
但现在问题是从.Render()返回的字符串没有放入输出流中!
任何帮助解决这个问题都会非常感激。
答案 0 :(得分:0)
您应该使用Html.Raw()方法。
@Html.Raw(Html.MyLibrary().Grid<MyGridItem>()
.Name("MyGrid")
.Width("100%")
.Render())
@ {...}服务器端块不会被渲染,因为它是简单的服务器端代码。如果你写了
,也一样@{ "renderedstring".ToString(); }