将div的内容保存在不同的位置

时间:2011-04-21 19:09:17

标签: jquery asp.net sql drag-and-drop draggable

我左边有一些名字(div)和右边3个正方形的div(nr1,nr2,nr3)。 我可以在右边的正方形上拖动三个名字并制作一个顶部3.所有这些都是用jquery完成的。

如何在asp.net的sql数据库中保存在方块上拖动的位置和名称。

2 个答案:

答案 0 :(得分:0)

我认为当您单击“保存”按钮时,会在容器div中获取子div。然后将它保存为父子关系。获取chid div的位置(左侧和顶部)(相对于父级的位置)并保存它

表记录可能看起来像

ChildId ParentId ChildLeftPosition ChildTopPosition

-------- -------- ----------------- -------------- ----

nr1        Parent1        25                 12
nr2        Parent1        65                 48
nr3        Parent1        210                97

当你回放时,阅读这些值并定位

答案 1 :(得分:0)

function SaveNames()
{
    var NameForN1 = [];
    var NameForN2 = [];
    var NameForN3 = [];

    $('#nr1').children().each(function()
    {
         NameForN1.push($(this).html());
    });
    //TODO: Do the same for nr2 and nr3
    $.post('yoururl',{Names:[NameForN1,NameForN2,NameForN3]},callback);
}

这是客户端,现在是服务器端

protected void SaveItems()
{
    Dictionnary<string,object> myNames;
    System.Web.Script.Serialization.JavaScriptSerializer jvs = new System.Web.Script.Serialization.JavaScriptSerializer();
    myNames = jvs.Deserialize<Dictionnary<string,object>>(Request["Names"]);
    //TODO Now you only have to save it to the database.
}

myNames [“Names”]应该是(如果我是对的)一个字符串数组的数组。 如果你在使用asp.net 4.0时在服务器端没有用,我建议你阅读这篇关于Json反序列化的一些很酷工具的文章:Hanselman blog's