Как добраться до базовых данных в MVC3 WebGrid с помощью jQuery? - PullRequest
0 голосов
/ 31 мая 2011

У меня есть простая MVC WebGrid.Когда пользователь нажимает на строку, я хотел бы сделать что-то на основе строки, которую он щелкнул.Это довольно просто в jqGrid и даже с использованием шаблонов jquery, но я бы хотел сделать это правильно, используя MVC WebGrid.

У меня есть следующее:

<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???
    });

});

1 Ответ

0 голосов
/ 31 мая 2011

К сожалению, вам нужно будет использовать jQuery для доступа к html-данным каждой строки - для этого не существует богатой модели программирования, о которой я знаю (красота MVC иногда тоже есть)

То же самоеСценарий применяется здесь: MVC WebGrid - Как программно получить текущую страницу, сортировать столбец и т. д.

...