Leo*_*eon 1 javascript asp.net-mvc kendo-ui kendo-grid
我一直试图让这段代码工作一段时间,而且我的想法已经用完了.我在线查看,找不到任何有用的东西.
我有一个网格定义,其中有一个人员列表.用户可以单击该人员将其添加到他们的联系人.我有一个自定义命令,它为我的Action做了一个帖子.
这可能最终会让我感到很简单.
我无法获取Grid的dataItem.以下是我收到的错误:
Uncaught TypeError: Cannot read property '0' of undefined
y.extend.dataItem
addContact
p.isFunction.f
p.event.dispatch
g.handle.h
Run Code Online (Sandbox Code Playgroud)
以下是我的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 },
});
}
Run Code Online (Sandbox Code Playgroud)
网格:
@(Html.Kendo().Grid(ViewBag.Contacts as List<Contacts>)
.Name("Grid")
.Columns(columns =>
{
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 = "Add Contact" });
})
.Groupable()
.Pageable()
.Sortable()
.Scrollable(s => s.Height("auto"))
.Filterable()
.DataSource(dataSource => dataSource
.Server()
.PageSize(50))
)
Run Code Online (Sandbox Code Playgroud)
使用的脚本:
<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>
Run Code Online (Sandbox Code Playgroud)
小智 5
在你的JS中,你需要获取对你的网格的引用,而不是使用它.
var grid = $("#Grid").data("kendoGrid");
var dataItem = grid.dataItem($(e.currentTarget).closest("tr"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8632 次 |
| 最近记录: |