asp.net Kendoui无法从代码访问网格?

时间:2014-04-07 08:22:39

标签: c# javascript asp.net kendo-ui kendo-grid

我想从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"

我认为因为网格未定义我得到了这个错误。我怎么能这样做的?我需要访问选定的行单元格。

1 个答案:

答案 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>