<%{
WebGrid studentGrid = new WebGrid(rowsPerPage: StudentController.PageSize);
studentGrid.Bind(Model.Students, autoSortAndPage: false, rowCount: Model.RowCount);
studentGrid.PageIndex = Model.CurrentPage;
}%>
<%=studentGrid.GetHtml(columns: new WebGridColumn[]{
studentGrid.Column("StudentId", "Id"),
studentGrid.Column("Name", "Name"),
})%>
不幸的是,我不得不用ASPX视图在我MVC3项目。
我想有一列,显示文本“选择”或基于绑定到网格中的列表项的一些条件“删除”。
如何是sysntax做
我得呈现HTML一样
<span class="1" id=item.id>Select<span>
和显示的HTML将只选择
你绝对可以用做format
你只需要手工制作在C#中的HTML:
<%
var list = new[]
{
new { StudentId = 1, Name = "Name1", Cond = true },
new { StudentId = 2, Name = "Name3", Cond = false },
new { StudentId = 2, Name = "Name3", Cond = true },
};
WebGrid studentGrid = new WebGrid();
studentGrid.Bind(list, autoSortAndPage: false, rowCount: 3);
%>
<%= studentGrid.GetHtml(columns:
new WebGridColumn[]
{
studentGrid.Column("StudentId", "Id"),
studentGrid.Column("Name", "Name"),
studentGrid.Column(header: "Action",
format: item =>
{
string span = "<span class=\"1\" id=\"{0}\">{1}<span>";
string action = item.Cond ? "Select" : "Remove";
return Html.Raw(string.Format(span, item.StudentId, action));
})
})
%>
使用ASPX模板systax(如<% %>
)内的拉姆达一般支持(见本Telerik的演示 ),但由于WebGrid
工作胆怯比Telrik它不工作。
看来方式WebGrid
内置仅支持内部剃刀模板format
参数...