我正在使用razor语法跟踪here上的代码。我最终得到了这个:
我试过了:
@{Html.Grid("basic")
.setCaption("Basic Grid")
.addColumn(new Column("JobId")
.setLabel("Id"))
.addColumn(new Column("Title"))
.addColumn(new Column("CreatedDate"))
.setUrl(Url.Action("Jobs"))
.setAutoWidth(true)
.setRowNum(10)
.setRowList(new int[]{10,15,20,50})
.setViewRecords(true)
.setPager("pager");}
并且它什么都没显示。我从@
开始,它编码了数据。
答案 0 :(得分:3)
尝试:
@(new MvcHtmlString(Html.Grid("basic")
.setCaption("Basic Grid")
.addColumn(new Column("JobId")
.setLabel("Id"))
.addColumn(new Column("Title"))
.addColumn(new Column("CreatedDate"))
.setUrl(Url.Action("Jobs"))
.setAutoWidth(true)
.setRowNum(10)
.setRowList(new int[]{10,15,20,50})
.setViewRecords(true)
.setPager("pager").ToString())
如果您不希望对网格进行编码,则网格应返回MvcHtmlString
(或仅IHtmlString
)。最好的解决方案是编写名为ToMvcHtmlString()
的扩展方法,它返回正确的值。然后你只需使用Html.Grid().ToMvcHtmlString()
。它比在视图中创建对象更好。
答案 1 :(得分:0)
试试这个:
@{ var grid = Html.Grid("basic")
.setCaption("Basic Grid")
.addColumn(new Column("JobId")
.setLabel("Id"))
.addColumn(new Column("Title"))
.addColumn(new Column("CreatedDate"))
.setUrl(Url.Action("Jobs"))
.setAutoWidth(true)
.setRowNum(10)
.setRowList(new int[]{10,15,20,50})
.setViewRecords(true)
.setPager("pager");
}
Html.Raw(grid.ToString());
更好的是grid.ToString()返回一个IHtmlString,所以你不需要Html.Raw它