2011-04-12 158 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(); }