5

我目前正在研究 MVC 3 webgrid,在我希望有一个按钮的列中,我在将以下代码放入视图时实现了这一点。

@grid.GetHtml(columns:
            grid.Columns(
            grid.Column("ID", "id", canSort: true),
            grid.Column("Surname", "surname", canSort: true),
            grid.Column("Forenames", "forename", canSort: true),
            grid.Column(format: @<input type="button" value="View"/>)),
            headerStyle: "header",
            alternatingRowStyle: "alt",
            htmlAttributes: new { id = "DataTable" }
            )

但是,我希望创建网格服务器端以进行分页,但是当我将下面的代码放入操作中时,按钮列出现错误。

var htmlString = grid.GetHtml(tableStyle: "webGrid",
                                          headerStyle: "header",
                                          alternatingRowStyle: "alt",
                                          htmlAttributes: new { id = "DataTable" },
                                          columns: grid.Columns(
                                                grid.Column("ID", "id", canSort: true),
                                                grid.Column("Surname", "surname", canSort: true),
                                                grid.Column("Forenames", "forename", canSort: true),      
                                                grid.Column(format: @<input type='button' value='View'/>)                                                                          
                                           ));

第一个错误是“在逐字说明符之后需要的关键字、标识符或字符串:@”。

我在按钮列上使用了不正确的格式吗?

4

2 回答 2

3

你可以试试<text>这样的剃须刀标签;

grid.Column(format: @<text><input type='button' value='View'/></text>)   
于 2013-02-21T17:21:46.740 回答
3

看起来您正在尝试在代码隐藏中使用 Razor 语法。尝试这样的事情,使用 lambda 表达式...

gridColumn.Format = (item) =>
{
    return new HtmlString("<input type='button' value='View'/>");
}
于 2011-01-25T13:59:26.853 回答