Сохранить содержимое div на разных позициях - PullRequest
0 голосов
/ 21 апреля 2011

У меня есть несколько имен (div) и справа 3 квадрата, которые являются div (nr1, nr2, nr3).Я могу перетащить три имени на правильные квадраты и сделать верхний 3. Все это делается с помощью jquery.

Как я могу сохранить в базе данных sql с asp.net позиции и имена, которые были перетащены наквадраты.

Ответы [ 2 ]

0 голосов
/ 21 апреля 2011
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: Блог Хансельмана

0 голосов
/ 21 апреля 2011

Я думаю, что когда вы нажмете кнопку сохранения, получите дочерние элементы div внутри контейнера div. Затем сохраните его как отношения «родитель-потомок». Получите позицию (слева и сверху) элемента chid div (относительная позиция к родителю) и сохраните его тоже

записи таблицы могут выглядеть как

ChildId ParentId ChildLeftPosition ChildTopPosition

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

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

и когда вы отрендерите, прочитайте эти значения и поместите их

...