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

asp.net Kendoui cannot access grid from code?

本文关键字:代码 访问 网格 net Kendoui asp      更新时间:2023-09-26

我想从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显示为"未定义"。然后它给出一个错误,如:

"Javascript runtime error: dataItem of undefined or null reference"

我认为因为网格未定义,我得到这个错误。我怎样才能正确处理这个问题?我需要访问选定的行单元格。

试试这个:

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