С помощью этого сообщества я смог передать статический фрагмент текста из javascript (на стороне клиента) в ASP 3.5 (на стороне сервера)! Этот фрагмент кода прекрасно работает:
$('.drop').droppable({
tolerance: "touch", // Here should be a string
drop: function() {
$('[id$="myHidden"]').val('Testy test test');
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());
}
});
Что делает вышеизложенное, так это то, что когда элемент с классом .drop удаляется, он назначит строку «Testy test test» моему скрытому полю на моей странице aspx. Затем он выполняет обратную передачу на невидимую кнопку, которая у меня есть на панели обновлений. Срабатывает событие нажатия скрытой кнопки, которое вызывает окно msgbox, отображающее содержимое скрытого элемента, который неизменно является «Testy test test».
Теперь вот где у меня есть некоторые проблемы. Из всего, что я бросаю в зону сброса, вместо того, чтобы устанавливать значение скрытого поля в статическую строку, я хочу установить для него идентификатор того, что я бросил в зону сброса. Вот что я изменил:
$('[id$="myHidden"]').val($(ui.draggable).attr("id"));
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());
Теперь внезапно, когда я что-то бросаю, оно остается приклеенным к зоне сброса, и событие падения не срабатывает. Я что-то сломал? Или я пытаюсь получить идентификатор удаленного элемента неправильно?
Если это имеет значение, вот соответствующий материал страницы aspx:
<asp:Button ID="HiddenButton" runat="server" Text="Button" />
Эта кнопка обычно скрыта с помощью css, я пока оставил ее открытой для тестирования.
РЕДАКТИРОВАТЬ!!!!:
Я тоже пробовал это, и это не сработало (так что я могу исключить «вар»?)
var foo = $(ui.draggable).attr("id")
$('[id$="myHidden"]').val(foo);
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());