我有一个aspx页面,上面有很多html控件和一个kendo网格。我想在单击提交按钮时,Web表单上的所有数据都发送到服务器。我知道html控件的解决方案,但我无法发送并可能转换为Json我的Kendo网格?
答案 0 :(得分:2)
如果网格处于编辑模式,那么您所要做的就是:
用于在网格上发送整个数据:
$.ajax({
url: 'your URL',
cache: false,
type: 'POST',
contentType: 'application/json;
charset=utf-8',
data: JSON.stringify($("#GridName").data().kendoGrid._data)
});
用于在编辑模式下发送行数据:
$.ajax({
url: 'your URL',
cache: false,
type: 'POST',
contentType: 'application/json;
charset=utf-8',
data: JSON.stringify($("#GridName").data("kendoGrid").dataSource.select())
});
我希望这有帮助!
答案 1 :(得分:0)
由于我不知道您的情况,我认为您可能想要执行类似的事情:
$("#btnSave").click(function () {
var grddatasource= = $("#GridEmployee").data("kendoGrid");
var DTO = JSON.stringify(grddatasource);//Convert javascript object to JSON object
$.ajax({
url: 'your URL'
cache: false,type: 'POST',contentType: 'application/json; charset=utf-8',data: DTO,dataType: "JSON",
success: function (data) {
alert('Created');
},
error: function (jqXHR, textStatus, err) {
$('#error').text('Error: ' + err);
alert('Error: ' + err);
}
});
}
else {alert('Your Msg !!');}
});
修改强> 您必须在kendo网格中包含以下内容才能启用弹出窗口编辑:
.Editable(editable => editable.Mode(GridEditMode.InLine))
并且你必须在Kendo Grid(谷歌搜索)中添加命令按钮,你必须添加以下内容:
.DataSource(dataSource =>
dataSource.Ajax()
.Model(model =>
{
model.Id(x => x.Id);
})
.Read(read => read.Url("your URL").Type(HttpVerbs.Get))
.Create(create => create.Url("your URL").Type(HttpVerbs.Post))
.Update(update => update.Url("your URL").Type(HttpVerbs.Put))
.Destroy(destroy => destroy.Url("your URL").Type(HttpVerbs.Delete))
)
修改强> 在kendogrid的工具栏上添加一个保存按钮
.ToolBar(toolbar => {
toolbar.Save(); // add save button to grid toolbar (If you want InBuilt method)
})
或者我认为你想分开保存网格然后使用JQuery:
<button type="button" id="save">Save</button>
然后添加以下jQuery:
$("#save").on("click", function () {
$("#Segment").data("kendoGrid").saveChanges();
});
答案 2 :(得分:0)
我认为,您始终可以从选项对象获取提交的行数据。
create : function(options) {
console.log("Create");
console.log(options.data);