如何转换WebGrid列';s的int值转换为字符串

本文关键字:转换 int 字符串 何转换 WebGrid | 更新日期: 2023-09-27 17:58:21

我正在使用WebGrid来显示Model中的数据。我希望ID列应该是超链接。所以,当任何人点击ID时,它的相应页面就会打开。我已经尝试了以下代码,但我得到了错误:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: Cannot convert type 'int' to 'string'

代码:

grid.Column(columnName: "ID", header: "ID", canSort: true, format: item => Html.ActionLink((string)item.ID, "../CRM/DetailsRequest", new { ID = item.ID })),....

如何转换WebGrid列';s的int值转换为字符串

看起来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
    )
)