我正在使用MVC3 WebGrid
,并且得到了这个最简单的cshtml
@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 :(得分: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这样的指令