2011-05-31 63 views
0

我有一个简单的MVC WebGrid。当用户点击一行时,我想根据他点击的行来做一些事情。它在jqGrid中非常简单,甚至使用jquery模板,但我想使用MVC WebGrid来正确使用它。如何使用jQuery获取MVC3 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??? 
    }); 

}); 
+0

我设法弄到了OrderNo,但我确定这不是正确的做法 $(“#grid_Orders”)。delegate(“tbody tr”,“click”,function( ){ alert($(this).children(':first-child')。html()); }); – 2011-05-31 09:58:03

回答

0

不幸的是,你需要以访问每行的HTML数据使用jQuery - 没有针对没有丰富的编程模型它知道(MVC的时代以及哈美)

相同的情况在这里适用: MVC WebGrid - How to programatically get the current page, sort column etc

+0

如果您使用json并绑定到可以访问源数据的网格,希望模板/数据绑定团队在不久的将来可以获得一些帮助 – 2011-06-01 09:18:05

+0

的输入。不确定webgrid是否支持这个功能,但是teleriks是否支持这个功能 - 这是一个100倍的网格imho和免费的。 – 2011-06-01 15:58:59