1

特定の都市の天気情報を表示するスクリプトを変更する Web ページがあります。このページでは、ユーザーは別のスクリプトをロードして都市を変更できます。このスクリプトは、気象サイトからウィジェットとしてコピーされます。

天気を表示するために次の行があります。

 <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

私は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 に答える
0

ロードしているスクリプト (WeatherScript) を取得して、部分的なポストバック後に再度実行する必要があります。スクリプトは関数ではないため、Web サイトからロードしたスクリプトの (恐怖に身震いする) 評価を行う関数をページ上に作成する必要があります。次に、ページの読み込みと部分的な更新でその関数を呼び出す必要があります。

部分的なポストバックにどのような方法を使用していますか? パネル、jQuery/XUI AJAX 呼び出しなどを更新しますか? これは、部分的なポストバックが完了したときに新しい関数を呼び出すために追加する必要があるコードを示すのに役立ちます。

于 2011-07-29T08:31:21.873 に答える