2011-07-29 10 views
1

特定の都市の天気情報を表示するスクリプトを変更するWebページがあります。 このページでは、ユーザーは別のスクリプトを読み込んで都市を変更できます。このスクリプトはウィジェットとして気象サイトからコピーされます。部分的なポストバック後のASP.NETスクリプト

は、私が天気を表示するには、このラインを持っている:「WeatherScriptは」天気を表示するスクリプトです

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

問題は、ページに部分的なポストバックがある場合、ページをリロードするまでスクリプトがもう機能しないことです。

スクリプトは、例えば、この1、次のようになります。

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

は、あなたがこの問題を解決する方法を知っていますか?

答えて

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のリンクを参照してください。

0

読み込み中のスクリプト(WeatherScript)を取得して、部分的なポストバック後に再度実行する必要があります。スクリプトは関数ではないので、あなたは自分のウェブサイトから読み込んだスクリプトのeval(ホラーショック)評価を行う関数をページ上に作成する必要があります。次に、ページのロードと部分的な更新でその関数を呼び出す必要があります。

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

+0

私は実際にTelerik RadPanelという更新パネルを使用しています。 –

関連する問題