我正在开发一个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'/>)
));
第一个错误是“逐字说明符后的关键字,标识符或字符串:@”。
我是否在按钮列上使用了错误的格式?
答案 0 :(得分:3)
您似乎正在尝试在代码隐藏中使用Razor语法。尝试使用lambda表达式...
gridColumn.Format = (item) =>
{
return new HtmlString("<input type='button' value='View'/>");
}
答案 1 :(得分:2)
你可以试试<text>
这样的剃须刀标签;
grid.Column(format: @<text><input type='button' value='View'/></text>)