WebGrid MVC3呈现为字符串而不是Html

时间:2013-11-21 19:42:44

标签: c# asp.net-mvc webgrid

我正在使用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 ...什么可能使第一个代码失败,并且我有义务使用第二种方式?

1 个答案:

答案 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这样的指令