Javascript 使用Jquery拖放时自动保存数据&;不用按按钮就可以放下
嗨,我一直在用谷歌搜索我的问题的答案,但我似乎找不到正确的答案,所以在这里,我希望你们这些可爱的家伙能帮助我 我在asp.net中有一个gridview,使用jquery我成功地使网格可以拖放,就像在中一样,您可以通过D&D功能对行重新排序。目前,我有一个更新按钮,允许用户将订单保存在数据库中(通过服务器端代码隐藏,无论VB、C是什么)。这一切都很好,但如果在删除行时调用服务器端例程保存行顺序(所有行),而不是让用户按下按钮,则会更好 我已经尝试了很多方法,其中一个例子是ajax调用,但是我无法实现这些,其他人知道我如何在不按下按钮的情况下直接对db进行拖放更改吗 我的原始拖放gridview JqueryJavascript 使用Jquery拖放时自动保存数据&;不用按按钮就可以放下,javascript,jquery,asp.net,ajax,Javascript,Jquery,Asp.net,Ajax,嗨,我一直在用谷歌搜索我的问题的答案,但我似乎找不到正确的答案,所以在这里,我希望你们这些可爱的家伙能帮助我 我在asp.net中有一个gridview,使用jquery我成功地使网格可以拖放,就像在中一样,您可以通过D&D功能对行重新排序。目前,我有一个更新按钮,允许用户将订单保存在数据库中(通过服务器端代码隐藏,无论VB、C是什么)。这一切都很好,但如果在删除行时调用服务器端例程保存行顺序(所有行),而不是让用户按下按钮,则会更好 我已经尝试了很多方法,其中一个例子是ajax调用,但是我无法
$x(function () {
$x("[id*=gv]").sortable({
items: 'tr:not(tr:first-child)',
cursor: 'pointer',
axis: 'y',
dropOnEmpty: false,
start: function (e, ui) {
ui.item.addClass("selected");
},
stop: function (e, ui) {
ui.item.removeClass("selected");
},
receive: function (e, ui) {
$x(this).find("tbody").append(ui.item);
}
});
});
然后我想我可以通过stop函数捕捉到发生了什么变化,于是添加了
$x(function () {
$x("[id*=gv]").sortable({
items: 'tr:not(tr:first-child)',
cursor: 'pointer',
axis: 'y',
dropOnEmpty: false,
start: function (e, ui) {
ui.item.addClass("selected");
},
stop: function (e, ui) {
ui.item.removeClass("selected");
var code = ui.item.attr("ID");
var pos = ui.item.index();
var options = {
type: "POST",
url: "mywebform.aspx/MyMethod",
data: JSON.stringify({
ID: code,
POS: pos
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
}
};
$x.ajax(options);
},
receive: function (e, ui) {
$x(this).find("tbody").append(ui.item);
}
});
});
然后在代码后面创建一个webmethod函数(请注意,这是在vb.net中,由于限制,如果答案是c#,我很好)
公共共享函数MyMethod(ByVal ID作为字符串,ByVal POS作为整数)作为字符串
尺寸a=ID&“,”和位置
返回“”
端函数
现在理想情况下,我会让这个函数获取数据并将其保存到我们的数据库中,但我在这里的主要目标是在调试时启动它,因此为什么这个函数没有真正做任何事情 似乎有一个名为
sortupdate
的事件在更新列表后触发。你应该能够把你的功能放在那里,然后它就会启动
请查看以下答案以开始:
<System.Web.Script.Services.ScriptMethod()>
<System.Web.Services.WebMethod>
Public Shared Function MyMethod(ByVal ID As String, ByVal POS As Integer) As String
Dim a = ID & ", " & POS
Return ""
End Function