Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
剑道UI网格在Javascript中获取单元格值_Javascript_Asp.net Mvc_Kendo Ui_Kendo Grid - Fatal编程技术网

剑道UI网格在Javascript中获取单元格值

剑道UI网格在Javascript中获取单元格值,javascript,asp.net-mvc,kendo-ui,kendo-grid,Javascript,Asp.net Mvc,Kendo Ui,Kendo Grid,我已经试着让这段代码工作一段时间了,我已经没有想法了。我在网上查了一下,找不到任何有用的东西 我定义了一个网格,其中包含人员列表。用户可以单击此人将其添加到其联系人中。我有一个自定义命令,它对我的操作进行post 这可能会成为我忽略的一件简单的事情 我无法获取网格的数据项。以下是我收到的错误: Uncaught TypeError: Cannot read property '0' of undefined y.extend.dataItem addContact p.isFunction.f

我已经试着让这段代码工作一段时间了,我已经没有想法了。我在网上查了一下,找不到任何有用的东西

我定义了一个网格,其中包含人员列表。用户可以单击此人将其添加到其联系人中。我有一个自定义命令,它对我的操作进行post

这可能会成为我忽略的一件简单的事情

我无法获取网格的数据项。以下是我收到的错误:

Uncaught TypeError: Cannot read property '0' of undefined
y.extend.dataItem 
addContact
p.isFunction.f
p.event.dispatch 
g.handle.h
以下是我的Javascript函数:

function addContact(e) {

        debugger;

        e.preventDefault();

        var dataItem = this.dataItem($(e.currentTarget).closest("tr")); // <-- ERRORS HERE
        var id = dataItem.Id

        var url = "@Url.Action("AddContact", "Contacts")";

        alert(url);

        $.ajax({
            url: url,
            type: 'POST',
            data: { contactID: id },
        });
    }
功能添加联系人(e){
调试器;
e、 预防默认值();
var dataItem=this.dataItem($(e.currentTarget).closest(“tr”);//
{
columns.Bound(p=>p.FirstName);
columns.Bound(p=>p.LastName);
columns.Bound(p=>p.ReleaseDate);
columns.Command(Command=>Command.Custom(“Add”).Click(“addContact”)).Width(80).HtmlAttributes(new{title=“addContact”});
})
.Groupable()
.Pageable()
.Sortable()
.可滚动(s=>s.Height(“自动”))
.可过滤()
.DataSource(DataSource=>DataSource
.Server()
.PageSize(50))
)
使用的脚本:

<script src="http://cdn.kendostatic.com/2012.3.1315/js/jquery.min.js"></script>
    <script src="http://cdn.kendostatic.com/2012.3.1315/js/kendo.all.min.js"></script>
    <script src="http://cdn.kendostatic.com/2012.3.1315/js/kendo.aspnetmvc.min.js"></script>
    <script src="@Url.Content("~/Scripts/kendo.modernizr.custom.js")"></script>

在JS中,您需要获取对网格的引用,而不是使用此引用

var grid = $("#Grid").data("kendoGrid");
var dataItem = grid.dataItem($(e.currentTarget).closest("tr"));

在JS中,您需要获取对网格的引用,而不是使用此引用

var grid = $("#Grid").data("kendoGrid");
var dataItem = grid.dataItem($(e.currentTarget).closest("tr"));

最后,问题在于网格配置


我必须将数据源设置为Ajax绑定而不是服务器。服务器绑定会阻止保存任何客户端数据。

最后,问题在于网格配置


我必须将数据源设置为Ajax绑定,而不是服务器。服务器绑定会阻止任何客户端数据的保存。

干杯,我在同一问题上被难住了好几年,这似乎很奇怪,因为我绑定到模型,而不是使用Ajax,所以为什么要设置Ajax是我无法理解的。干杯,我在同一问题上被难住了好几年,这似乎很奇怪,因为我是b绑定到模型,而不是使用ajax,所以我无法理解为什么要设置ajax。