powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вызов серверной функции с клиента
9 сообщений из 9, страница 1 из 1
Вызов серверной функции с клиента
    #33911384
:(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
:(
Гость
У меня есть javascript функция (Client) и я хочу из неё вызвать Sub на сервере.
Странца на сервере .aspx.vb имеет много процедур.
Идея обратиться только к одной из них и послать туда параметр.
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33911467
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AJAX
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33911471
:(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
:(
Гость
А пример кода привести можно?
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33911517
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут обучалка (на инглише, но неплохая)
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33911544
:(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
:(
Гость
Послушайте, у меня нет проблем ни с инглишем, ни с AJAX в целом.
У меня совершенно конкретная проблема Как построить URL так, что-бы в ней было обращение к конкретной процедуре. Обычно-средне-хрестоматийный пример не работает.
Вот поэтому и обратилась к сообществу.
А не для того бы дать кому-то возможность сплюнуть свысока и не по делу.
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33911571
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит не по делу? Там как раз все по делу. Есть объект XMLHTTPRequest, который позволяет делать синхронный/асинхронный запрос на сервер. Я лично на тех примерах создавал свой AJAX-объект, которым активно пользуюсь.

Ладно, если надо готовые решения, то вот линк , тут есть абсолютно бесплатный AJAX-компонент, который уже позволяет сделать запрос не просто к серверной странице, а уже к конкретной функции в ней. Как пользоваться - описано в доке и примерах, поставляемых вместе с компонентом.
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33911600
:(
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
:(
Гость
Ну раз вы такой спец ...
Попробую ещё раз.
Есть функция getZipData в которую попала некоторая val откуда и как не важно. Важно что она уже там.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
        function getZipData(val)
        {
 	        loadXMLDoc('http://localhost/MyApplication/AAP123.aspx?proc=GetCity&Zip =' + val);
        }
        
        function loadXMLDoc(url) {
            req = new ActiveXObject("Microsoft.XMLHTTP");
            if (req) {
             alert(url)                
             req.onreadystatechange = processReqChange;
             req.open("GET", url, true);
             req.send();
            }
            
        }
        
        function processReqChange() {
            if (req.readyState ==  4 ) {
           
                if (req.status ==  200 ) {
    
                    document.forms[ 0 ].output.value  = req.responseText 
                    response  = req.responseXML.documentElement;
                    //City = response.getElementsByTagName('City')[ 0 ].firstChild.data;
                    //State = response.getElementsByTagName('State')[ 0 ].firstChild.data;
                    //document.forms[ 0 ].txtCity.value = City
                    //document.forms[ 0 ].txtState.value = State
                } else {
                    alert("Please enter a valid Zip code:\n" +
                    req.statusText);
                }
            }
        }
На Сервере, есть функция GetCity.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Partial Class AAP123
    Inherits Page
    Implements System.Web.UI.ICallbackEventHandler
    Protected Const EDIT_ORDER_DATE_SECURITY_CODE As Integer =  1034 
    Private Const ADD_ORDER_SECURITY_CODE As Integer =  523 
    Protected returnedString As String

    Private Sub GetName(ByVal Name As String)
        ShowMessage(Name)
    End Sub

    Private Sub GetCity(ByVal Zip As String)
        ShowMessage(Zip)
    End Sub
End Class
Так вот мне надо сделать такое url, что-бы оно обращалось к процедуре GetCity.
Длая этого не надо специальные компоненты, как мне кажется, да и использовать их по ряду причин я не могу.
Мне надо сделать только вот такое обращение.
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33912355
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В VB не силен, поэтому пример дам на C#.
В коде загрузки для aspx-страницы пишем:

Код: plaintext
1.
2.
3.
4.
5.
switch (Request["id"].ToString()){
   case "GetCity":
      Response.Write(GetCity(Request["zip"].ToString()));
      break;
}
сама же функция GetCity должна возвращать значение. Ну а на клиенте УРЛ будет примерно такой:
serverpage.aspx?id=GetCity&zip=что-то там

PS. И все таки советую для начала воспользоваться Obout-овским компонентом, он проще в обращении. Во-первых, не надо ничего писать в Page_Load на сервере, во-вторых - не надо никаких req = new ActiveXObject("Microsoft.XMLHTTP"); на клиенте. Там все проще гораздо, так что советую глянуть (там и на VB примеры есть).
...
Рейтинг: 0 / 0
Вызов серверной функции с клиента
    #33912659
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с постбэком просто, но ИМХО не очень красиво.
а насчёт стороних компонентов неуверен - есть свой (родной) ICallBackEwentHandler - довольно неплохая штука если правильно ею пользоваться ;)
пример использования ;)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вызов серверной функции с клиента
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]