我正在使用WebGrid
来显示来自Model的数据。我希望ID列应该是超链接。因此,当任何人点击ID时,它的相应页面将被打开。我尝试过以下代码,但收到错误:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot convert type 'int' to 'string'
CODE:
grid.Column(columnName: "ID", header: "ID", canSort: true, format: item => Html.ActionLink((string)item.ID, "../CRM/DetailsRequest", new { ID = item.ID })),....
答案 0 :(得分:5)
看起来ID属性是一个整数,因此您无法将其强制转换为字符串。首先尝试将其转换为整数:
grid.Column(
columnName: "ID",
header: "ID",
canSort: true,
format: item => Html.ActionLink(
((int)item.ID).ToString(),
"DetailsRequest",
"CRM",
new { ID = item.ID },
null
)
)
或者,如果在您的视图模型中,您有另一个字符串属性,您希望将其用作锚文本:
grid.Column(
columnName: "ID",
header: "ID",
canSort: true,
format: item => Html.ActionLink(
(string)item.Name,
"DetailsRequest",
"CRM",
new { ID = item.ID },
null
)
)