1

WebGridモデルからのデータを表示するために使用しています。その 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 })),....
4

1 に答える 1

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
    )
)
于 2013-02-09T08:19:37.910 に答える