2009-06-11 11 views
1

私は与えられたユーザーIDの画像をプルアップするアプリケーションを持っています。私はイメージタグをAJAX TabContainerコントロールの更新パネルの中に入れ子にしました。私はImageUrlを "〜/ ImageHandler.ashx"に設定し、ImageHandler.ashxはセッション変数userIDからユーザーのIDを取得します。AJAX HTTPHandlerは画像を更新しません

私の問題は次のとおりです。最初のユーザーが読み込まれると、正しいイメージが取得されますが、後続のユーザーは新しいイメージをプルアップしません。第1のユーザからの画像は残る。つまり、最初のユーザーが読み込まれたときにimageUrlが設定され、再度触れられないように見えます。新しいユーザーを引き上げるたびに、イメージを更新するにはどうすればよいですか?

+0

同じブラウザセッションで変更されたユーザーですか? – RSolberg

答えて

2

ブラウザがキャッシュしているようです。おそらくImageUrlを '〜/ ImageHandler.ashx?user = <%= userId%>'かそのようなものに設定してみてください。私はあなたのImageHander.ashxが引数を無視すると仮定しますが、ブラウザはURLが異なっていることを認識し、新しいユーザーごとに再度取得しようとします。

+0

それは美しく働いた。私はあなたが示唆したURLでコードの背後にImageUrlを設定し、それは今完璧に動作します!どうもありがとうございます! – swolff1978

+0

ありがとう@StriplingWarrior、私はあなたの言及したテクニックを使用し、それは実際に動作しています。すばらしいです!!!。 –

0

FireBugを使用して、新しいイメージが要求されているかどうかを確認します。そうでない場合は、ImageHandler.ashxによって返されたイメージがキャッシュされていないことを確認します。これは、FireBugのヘッダーパラメータを調べることで実行できます。レスポンスがすぐに期限切れになるようにするか、あるいはキャッシュに設定されていないことを確認します。

異なるプログラミングパラダイムには、ヘッダーを設定するさまざまな方法があります。また、FireBugのネットトラフィックを調べることで、問題の原因を知ることができます。クエリーパラメータを使用して各コールを一意にする簡単な解決策が既に提案されています。

0

多くの助けになりました。 私は同じ問題を抱えていました。 私はセッションからのermormystreamから画像を表示していましたが、ちょうどキャッシュ&がクリアされました。

関連する問題