我想从Javascript代码访问我的网格,但我在某处有错误。在哪里?
这是我的网格代码:
<div id="kendoo">
@(Html.Kendo().Grid<SalePortal.ServiceReference.Product>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(product => product.pID).Title("Product ID");
columns.Bound(product => product.productName).Title("Product Name");
columns.Bound(product => product.productPrice).Title("Price");
columns.Command(command => command.Custom("Buy").Click("Sale"));
})
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Read(read => read.Action("GetProduct","Home"))
)
)
</div>
这是我的javascript代码:
<script type="text/javascript">
function Sale(e)
{
var grid = $("#kendoo").data("kendoGrid");
var myvar = grid.dataItem($(this).closest("tr"));
alert(my.pID);
var url = "@Url.Action("Sale", "Home")";
$.ajax({
url: url,
type: 'POST',
data: { cID: 1, pID: prID },
});
}
</script>
javascript部分中的变量grid
显示为&#34; undefined&#34;当我运行网站时。然后它给出了一个错误:
"Javascript runtime error: dataItem of undefined or null reference"
我认为因为网格未定义我得到了这个错误。我怎么能这样做的?我需要访问选定的行单元格。
答案 0 :(得分:0)
试试这个:
<script type="text/javascript">
function Sale(e)
{
var grid = $("#Grid").data("kendoGrid"); // Need to specify Grid Name/Id here
var myvar = grid.dataItem($(this).closest("tr"));
alert(my.pID);
var url = "@Url.Action("Sale", "Home")";
$.ajax({
url: url,
type: 'POST',
data: { cID: 1, pID: prID },
});
}
</script>