2013-11-21 6 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

Ничего не похоже на ваш код, даже если он работает локально, отлично работает. Можете ли вы разместить свой код 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 бездельничал некоторые помощники и другие LINK, такие как Html.Raw

Смежные вопросы