ASP.NET Script после частичной обратной передачи - PullRequest
1 голос
/ 29 июля 2011

У меня есть веб-страница для изменения скрипта, который показывает информацию о погоде определенного города На этой странице пользователи могут изменить город, загрузив другой скрипт. Этот скрипт скопирован с сайта погоды, как виджет.

У меня есть эта строка, чтобы показать погоду:

 <asp:Literal ID="ltWeatherScript" runat="server" Text='<%# Eval("WeatherScript") %>'>
 </asp:Literal>

Где «WeatherScript» - скрипт, который показывает погоду.

Проблема в том, что когда страница имеет частичную обратную передачу, скрипт больше не работает, пока я не перезагружу страницу.

Сценарий может быть, например, таким:

script type="text/javascript" src="http://tiempo.meteored.com/wid_loader/50a0f88ef4aae65daacf31e7a4b1b0fe"

Вы знаете, как решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 29 июля 2011

Вам нужно, чтобы загружаемый скрипт (WeatherScript) снова выполнялся после частичной обратной передачи. Поскольку сценарий не является функцией, вам необходимо создать функцию на странице, которая (в ужасе дрожит) оценивает сценарий, загруженный с их веб-сайта. Затем вам нужно будет вызвать эту функцию при загрузке страницы и частичном обновлении.

Какой метод вы используете для частичных обратных передач? Обновление панелей, вызов jQuery / XUI AJAX и т. Д.? Это поможет мне показать вам код, который нужно добавить для вызова новой функции после завершения частичной обратной передачи.

0 голосов
/ 29 июля 2011

Я проверил JS.

эти строки - единственные подозреваемые, которые могут вызвать проблему.

conte = document.getElementById('cont_50a0f88ef4aae65daacf31e7a4b1b0fe');
enlace = document.getElementById('h_50a0f88ef4aae65daacf31e7a4b1b0fe');
anchor = document.getElementById('a_50a0f88ef4aae65daacf31e7a4b1b0fe');

И ты сказал The problem is when the page has a partial postback, the script doesn't work anymore. Так что причина может быть в том, что после контроля постов идентификаторы меняются. если вы можете опубликовать разметку, которая поможет диагностировать проблему. Что касается решения, вы должны указать ClientId элемента управления. проверьте ссылку Control.ClientID Property , чтобы получить больше информации об этом свойстве и как его использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...