С помощью этого сообщества я смог передать статический кусок текста из 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» моему скрытому полю на моей странице aspx. Затем он выполняет обратную передачу на невидимую у меня кнопку, которая находится в панели обновления. Возникает событие щелчка скрытой кнопки, которое выдает сообщение, отображающее содержимое скрытого элемента, которое неизменно является «тестовым тестом».
Теперь вот где у меня проблемы. Что бы я ни помещал в зону сброса, вместо того, чтобы установить значение скрытого поля в статическую строку, я хочу установить в качестве идентификатора того, что было, я сбросил в зону сброса. Это то, что я изменил:
$('[id$="myHidden"]').val($(ui.draggable).attr("id"));
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());
Теперь внезапно, когда я бросаю что-то, оно остается приклеенным к зоне падения, и событие падения не срабатывает. Я что-то сломал? Или я пытаюсь неправильно идентифицировать выпавший элемент?
Если это имеет значение, вот соответствующий материал aspx:
<asp:Button ID="HiddenButton" runat="server" Text="Button" />
Эта кнопка обычно скрыта с помощью css, я просто оставил ее пока скрытой для тестирования.
EDIT !!!!:
Я тоже это пробовал, и это не работает (поэтому я могу исключить 'var'?)
var foo = $(ui.draggable).attr("id")
$('[id$="myHidden"]').val(foo);
__doPostBack('<%= HiddenButton.UniqueID %>', '');
alert($('[id$="myHidden"]').val());