ASPX查看MVC3的WebGrid格式列(ASPX View MVC3 WebGrid forma

2019-10-16 19:16发布

<%{
     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将只选择

Answer 1:

你绝对可以用做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参数...



文章来源: ASPX View MVC3 WebGrid format column