2015-05-31 3 views
0

Возможно ли передать несколько аргументов в вызове __doPostBack? Я знаю, как я использую один arrgument __doPostBack('Service', $("input[name=celservice]:checked").val());передать несколько аргументов __doPostBack

и в коде позади vb.net

If eventTarget = "Service" Then 
'Something 
EndIf 

, но как, когда я использую два аргумента

ответ

0

Мы создали свою собственную библиотеку для передачи данных с веб-страницы на ASP.NET. Не вдаваясь в подробности, код javascript переносит информацию в поток XML (вы также можете использовать JSON), который затем анализируется на сервере.

По своей сути, наш Java-объект выглядит примерно так:

function MyArgs() { 
    var args = ''; 

    this.add = function (id, value) { 
     args += ('<param id="' + encodeURI(id) + '" value="' + encodeURI(value) + '" />'); 
    }; 

    this.output = function() { 
     return '<request>' + args + '</request>'; 
    }; 
} 

И мы используем это следующим образом:

var args = new MyArgs(); 
args.add("param1", "value A"); 
args.add("param2", "Value B"); 

__doPostBack("YOUR_SERVICE", args.output()); 

Нам это нравится, потому что мы вполне комфортно с данными XML, но вы также можете использовать JSON или кодировку URL. Логика одна и та же: вы создаете поток, который можно анализировать на сервере.

Этот метод также полезен другим способом, от сервера к клиенту, особенно в ответ на запросы AJAX.

Я надеюсь, что это может оказаться полезным для вас :)

+0

Спасибо большое :) –

+0

Вы очень приветствуются. Если вы считаете, что этот ответ помог решить вашу проблему, я был бы признателен, если бы вы отметили его как правильный ответ :) –

+0

Прости, что я не могу ... потому что у меня недостаточно репутации :( –

0

Вы можете обернуть несколько результатов в объекте, как так:

var result = { 
    celservice: $("input[name=celservice]:checked").val(), 
    somethingElse: true 
} 

затем

__doPostBack('Service', result); 
Смежные вопросы