问题描述
|
我有一个简单的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???
});
});
解决方法
不幸的是,您将需要使用jQuery来访问每一行的html数据-我没有意识到针对它的丰富编程模型(有时MVC也很吸引人)
同样的情况在这里适用:
MVC WebGrid-如何以编程方式获取当前页面,排序列等