【问题标题】:ASP.NET Script after partial postback部分回发后的 ASP.NET 脚本
【发布时间】:2011-10-15 17:56:02
【问题描述】:

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

我有这条线来显示天气:

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

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

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

例如,脚本可以是这个:

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

你知道怎么解决吗?

【问题讨论】:

    标签: asp.net partial-postback


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我确实检查了 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 以获取有关此属性以及如何使用它的更多信息。

      【讨论】:

        猜你喜欢
        • 2011-04-04
        • 2014-06-27
        • 2015-04-15
        • 1970-01-01
        • 1970-01-01
        • 2011-08-11
        • 1970-01-01
        • 1970-01-01
        • 2013-05-01
        相关资源
        最近更新 更多