Сохранение динамически сгенерированных атрибутов html в базе данных (Asp.Net, Jquery)

Я работаю над страницей панели инструментов собственного дизайна. Пользователи перетаскивают блоки произвольного размера в элемент div и помещают некоторые данные внутрь блоков. Как только они закончатся, я хотел бы сохранить определенные атрибуты этих полей в базе данных вместо сохранения всего HTML-кода.

<div id="widget0" class="box span2">
    <div class="box-header well" style="padding-left: 3px;" data-original-title="">
        <div style="float:left">
            <a href="javascript:void(0)" class="btn btn-narrow-left btn-round"><i class=" icon-chevron-left"></i></a>
            <a href="javascript:void(0)" class="btn btn-extend-down btn-round"><i class=" icon-chevron-down"></i></a>
            <a href="javascript:void(0)" class="btn btn-narrow-up btn-round"><i class=" icon-chevron-up"></i></a>
            <a href="javascript:void(0)" class="btn btn-extend-right btn-round"><i class=" icon-chevron-right"></i></a>
        </div>
        <div style="float: right !important; margin-right: -15px;">
            <a href="javascript:void(0)" class="btn btn-close btn-round"><i class="icon-remove"></i></a>
        </div>
    </div>
    <div class="box-content">
        <div id="boxContent0" style="width:100%;height:250px;border-collapse:collapse;" class="ui-droppable">
        </div>
    </div>
</div>

Выше приведен пример html-кода моего ящика. Я просто сохраню идентификатор div, класс и содержимое.

Что я сделал до сих пор, так это то, что я сохранил необходимые значения в asphiddenfield в событии нажатия кнопки в этом формате:

"2|widget0,span4,content1,content2|widget1,span3,0,0"

Я сделал это, обработав событие отправки формы с помощью jquery, вызванное нажатием кнопки asp. Но операции записи БД, требуемые в моей функции нажатия кнопки сервера, не работали. Я думаю, это потому, что я обработал событие отправки формы до того, как функция btnSaveDashboard_Click(object sender, EventArgs e) обработает и отправит форму из jquery..

Что я хотел бы сделать, так это, когда пользователь нажимает кнопку «Сохранить панель инструментов», прежде чем перенаправить на страницу просмотра панели инструментов, сохранить эти значения в моей базе данных, а затем перенаправить.

Я просто не мог найти способ сделать это одним нажатием кнопки;

  • получить необходимые значения html
  • сохраните их в скрытом поле или в другом доступном месте, например, в состоянии просмотра.
  • сохранить эти значения в моей базе данных

Я могу предоставить более подробную информацию в случае необходимости.

Спасибо.


person Farooq    schedule 07.04.2014    source источник


Ответы (1)


Вы можете использовать событие на стороне клиента Button OnClientClick, чтобы заполнить HiddenField нужными вам значениями до того, как произойдет обратная передача.

Если вы это сделаете, у вас должны быть нужные значения в событии на стороне сервера Button OnClick. В этот момент вы должны иметь возможность делать с ними все, что захотите.

person Mt. Schneiders    schedule 07.04.2014