部分回发后的ASP.NET脚本

时间:2011-07-29 07:38:30

标签: asp.net partial-postback

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

我有这条线来显示天气:

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

Where&#34; WeatherScript&#34;是显示天气的脚本。

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

例如,脚本可以是这个:

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

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

2 个答案:

答案 0 :(得分: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 Property以获取有关此属性以及如何使用它的更多信息。

答案 1 :(得分:0)

您需要获取正在加载的脚本(WeatherScript)以在部分回发后再次执行。由于脚本不是一个函数,因此您需要在页面上创建一个函数,该函数执行从您的网站加载的脚本(令人震惊)。然后,您需要在页面加载和部分更新时调用该函数。

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