2011-04-12 191 views
0

我已经呈现网格作为一个表,在MVC2我会叫它使用下面的语法视图中的HtmlHelper ...渲染模板的HtmlHelper与MVC3 /剃刀

<%= 
    Html.MyLibrary().Grid<MyGridItem>() 
     .Name("MyGrid") 
     .Width("100%") 
     .Render() 
%> 

注意它使用的模板。在使用Razor的MVC3中,它不会编译,看起来是因为左尖括号'<'被html混淆了。为了解决这个问题,我可以将其括在大括号...

@{Html.MyLibrary().Grid<MyGridItem>() 
     .Name("MyGrid") 
     .Width("100%") 
     .Render();} 

但现在的问题是,从字符串.Render()不把得到的输出流中恢复!

任何帮助解决这个问题将不胜感激。

回答

0

您应该使用Html.Raw()方法。

@Html.Raw(Html.MyLibrary().Grid<MyGridItem>() 
     .Name("MyGrid") 
     .Width("100%") 
     .Render()) 

@ {...}服务器端块不会呈现,因为它是简单的服务器端代码。如果你写了

@{ "renderedstring".ToString(); }