0

Webgrid にいくつかのハイパーリンクを作成しようとしています。「ユーザー名」列の値をテキストではなくハイパーリンクとして表示したいと思います。以下の WebGrid に @Html.ActionLink 関数を組み込むことは可能ですか?

columnName には、ビューに渡されるモデルのプロパティに対応する文字列が必要です。問題は、それをどのようにリンクに取り込むかです。

意見:

@model IEnumerable<CIMsWebApp.Client.Group.Entities.IUser>

@{  var grid = new WebGrid(Model, canSort: true, canPage: true, defaultSort: "UserName", ajaxUpdateContainerId: "myUserGrid"); }

 @grid.GetHtml(
    tableStyle: "dataGrid", 
    headerStyle: "header",
    alternatingRowStyle: "evenRow",
    columns: grid.Columns
    (
        grid.Column(header: "User Name", columnName: "UserName", canSort: false),
        grid.Column(header: "Role(s)", columnName: "Rolebuilder", canSort: false),
        grid.Column(header: "Active", columnName: "ActiveInd", canSort: false),
        grid.Column(header: "Action", format:
                                    @<span><input type="button" class="edit-user" id="@item.PersonId" value="EDIT" />
                                    </span>, canSort: false)
    )
)
4

1 に答える 1

1

問題は、それをどのようにリンクに入れるかです。

このformatパラメーターを使用して、このセルに好きなカスタム形式を提供できます (ところで、最後の列で既にこれを行っています)。

grid.Column(
    header: "Subject", 
    columnName: "UserName", 
    format: item => Html.ActionLink((string)item.UserName, "SomeAction", new { id = (int)item.PersonId  })
)
于 2012-09-18T17:00:10.667 に答える