1

我有一个网页来修改显示某个城市的天气信息的脚本。在此页面中,用户可以通过加载不同的脚本来更改城市。此脚本是从天气站点复制的,作为一个小部件。

我有这条线来显示天气:

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

其中“WeatherScript”是显示天气的脚本。

问题是当页面有部分回发时,脚本不再工作,直到我重新加载页面。

例如,该脚本可以是这个:

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

你知道如何解决这个问题吗?

4

2 回答 2

0

您需要让正在加载的脚本 (WeatherScript) 在部分回发后再次执行。由于脚本不是函数,因此您需要在页面上创建一个函数,该函数对您从他们的网站加载的脚本进行(惊恐地颤抖)评估。然后您需要在页面加载和部分更新时调用该函数。

您使用什么方法进行部分回发?更新面板、jQuery/XUI AJAX 调用等?这将帮助我向您展示在部分回发完成时调用新函数所需添加的代码。

于 2011-07-29T08:31:21.873 回答
0

我确实检查了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。所以原因可能是在回发控件的 ID 发生变化之后。如果您可以发布有助于诊断问题的标记。至于解决方案,您必须指定控件的 ClientId。检查链接Control.ClientID 属性以获取有关此属性以及如何使用它的更多信息。

于 2011-07-29T08:01:59.097 回答