Как вызвать функцию JavaScript из делегата функции AsyncCallback? - PullRequest
0 голосов
/ 29 декабря 2010

Я получаю дату и время местоположения от вызова асинхронного делегата. Я хочу установить для lable-значения значение даты-времени, возвращаемое этим методом делегата. Но проблема в том, что он обрабатывается до завершения асинхронного метода. И я не могу дождаться этого асинхронного метода, потому что он использует стороннюю службу, которая работает очень медленно. Итак, я реализовал функцию обратного вызова Async и inside that call back function I want to run a javascript script function. Но проблема в том, что он не заполняет метод javascript. Вот мой код -

public void DateTimeCallBack(IAsyncResult asy)
    {            
        AsyncResult result = (AsyncResult)asy;
        DateTimeDelegate dtdel = (DateTimeDelegate)result.AsyncDelegate;
        lblDateTime.Text = dtdel.EndInvoke(asy).ToString("MMM dd, yyyy"); // this is not setting the value to lable
      //  so I want to use javascript
      ScriptManager.RegisterStartupScript(this, this.GetType(), "ScriptNo", "window.setTimeout(\"alert('Hello');\",0);", true);          
    }

это не populatiog javascript-сообщение. Не поддерживает ли метод AsyncCallback этот способ javascript ?? ИЛИ есть ли другой способ сделать то же самое?

1 Ответ

2 голосов
/ 29 декабря 2010

Вы не "вызываете" функции javascript со стороны сервера.Вы выводите JavaScript в веб-браузер, который затем выполняет все в тегах сценария, которые генерирует ваш сервер.Я не уверен, что ваш код пытается сделать, я даже не уверен, что это за язык, так как вы не сказали (я предполагаю, что это C #), но вам нужно четко понимать разницу междукод на стороне сервера и код на стороне клиента, и как они взаимодействуют.
код на стороне сервера генерирует только javascript, который будет запускать ваш браузер, он не может напрямую влиять на время его выполнения.Также javascript не может напрямую «вызывать» функции на стороне сервера, вы можете только сделать HTTP-запрос GET или POST, который затем обрабатывается кодом на стороне сервера.

...