2009-05-25 5 views
2

Мне нужно найти способ вызова функции vb.net на моей странице aspx из javascript. У меня есть функция JQuery, которая делает класс .drop .droppable, и всякий раз, когда я удаляю .draggable на целевую точку, мой код JQuery успешно запускает инструкцию java alert. Все в чистом javascript. Что мне нужно сделать, это тяжелая математика!вызов функции VB.net из javascript

Я понимаю, что javascript существует на стороне клиента, ASP/VB существует на стороне сервера, и никогда не будут встречаться два. Из исследования google, похоже, что это идеальный способ получить то, что мне нужно сделать, это вызвать асинхронную обратную передачу в моей панели обновления. Я создал скрытую кнопку под названием «HiddenButton», а также создал скрытый ярлык под названием «HiddenLabel». Как я могу заставить его работать, поэтому, когда я что-то бросаю, мой javascript вызывает что-то, что обновляет как текст в HiddenLabel (поэтому я могу передать значение серверной стороне), и каким-то образом запустить событие HiddenButton_click?

Мой текущий Javascript благость выглядит следующим образом:

<script type="text/javascript"> 
    $(document).ready(function() { 
doReady(); 

var prm = Sys.WebForms.PageRequestManager.getInstance(); 
prm.add_endRequest(function(s, e) { 
    doReady(); 
}); 
}); 

function doReady() { 

$('.drag').draggable({ revert: true, helper: 'clone' }); 
$('.drop').droppable({ 
    tolerance: "touch", // Here should be a string 
    drop: function() { alert('dropped'); } 

Это где я думаю, что что-то нужно пойти, чтобы обновить метку и вызвать пост-обратно, но я не знаю, что это такое :(

}); 

} // End of do ready 
</script> 
+0

Вы также можете использовать WebForm_DoPostBackWithOptions JavaScript функция вместо __doPostBack. – Kirtan

ответ

3

Вы можете нам e событие OnValueChanged скрытой переменной. Проволока до этого события, изменить значение скрытой переменной, и написать это заявление -

__doPostBack('<%= hdnHidden.UniqueID %>', ''); //This statement will fire the OnValueChanged event and the control will be moved to the server side where you can update the label and do your processing. 
+0

Это сработало! Я обновил мою строку javascript до следующего: drop: function() {__doPostBack ('<% = HiddenButton.UniqueID%>', ''); } Теперь мне просто нужно выяснить, как сделать больше работы на моем сайте, но это то, что мне нужно! –

1

Вызов __doPostBack с JS вызывает постбэк.

function __doPostBack(eventTarget, eventArgument) { ... } 
+0

Я изменил свой javascript на это, и теперь функция перетаскивания нарушена? function doReady() { $ ('. drag'). draggable ({revert: true, helper: 'clone'}); $ ('. Drop'). Droppable ({ Толерантность: «touch», // Здесь должна быть строка drop: function() {alert ('drop');} drop: function() {__doPostBack (HiddenButton_Click, '')} }); } // Конец работы готов –

Смежные вопросы