0

単純なMVCWebGridがあります。ユーザーが行をクリックしたときに、クリックした行に基づいて何かを実行したいと思います。jqGridでは非常にシンプルで、jqueryテンプレートを使用することもできますが、MVCWebGridを使用して正しく取得したいと思います。

私は次のものを持っています:

<h2>OrderList</h2>
@{
    var grid = new WebGrid(canPage: true, rowsPerPage: 20, canSort: true, ajaxUpdateContainerId: "grid_Orders");
    grid.Bind(Model.Orders, rowCount: Model.TotalOrders, autoSortAndPage: true);
    grid.Pager(WebGridPagerModes.All);
    @grid.GetHtml(htmlAttributes: new { id = "grid_Orders" },
        columns: grid.Columns(
            grid.Column(columnName: "OrderNo", header: "Order No"),
            grid.Column(columnName: "TotalAmountDisplay", header: "Amount", format:@<div style="text-align:right"> R @item.TotalAmountDisplay</div>, canSort: false)
    ));
}

および次のjQuery

$(document).ready(function () {
    $("#grid_Orders").delegate("tbody tr", "hover", function () {
        $(this).css("cursor", "pointer");
        $(this).toggleClass("datahighlight");
    });

    $("#grid_Orders").delegate("tbody tr", "click", function () {
        //How do I get the underlying data in this row???
    });

});
4

1 に答える 1

0

残念ながら、各行のhtmlデータにアクセスするにはjQueryを使用する必要があります-Imが認識しているそれに対する豊富なプログラミングモデルはありません(MVCの美しさも時々あります)

同じシナリオがここにも当てはまります: MVC WebGrid-プログラムで現在のページを取得する方法、列を並べ替える方法など

于 2011-05-31T15:13:48.560 に答える