2013-11-21 75 views
0

我使用MVC3 WebGrid,並得到了這個簡單的cshtml,這是行不通的的WebGrid MVC3呈現爲字符串,而不是HTML

@model IEnumerable<MyNamespace.MyClass> 
@{ 
    var grid = new WebGrid(source: Model); 
} 
@grid.GetHtml() 

但是這個代碼,工作

@model IEnumerable<MyNamespace.MyClass> 
@{ 
    var grid = new WebGrid(source: Model); 
} 

@MvcHtmlString.Create(grid.GetHtml().ToHtmlString()) 

問題:第一個簡單的代碼呈現爲字符串而不是Html ......可能會導致第一個代碼失敗,並強制我使用第二種方式?

+0

linstructions你的代碼沒有什麼不對,甚至在本地運行它工作正常。你能發佈你的MyClass代碼嗎?您沒有運行某種類似AntiXss的編碼模塊? – hutchonoid

回答

0

顯然有人誰通過項目去了不知道MVC已經照顧在視圖渲染HTML字符...

我們在Web.Config

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="MyNamespace.Views.MyViewPage"> 
     <namespaces> 
     ... 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

而且MyViewPage是瞎搞一些助手和其他像Html.Raw

相關問題