1

指定されたユーザー ID の画像を取得するアプリがあります。AJAX TabContainer コントロールの更新パネル内にイメージ タグをネストしています。ImageUrl を "~/ImageHandler.ashx" に設定し、ImageHandler.ashx はセッション変数 userID からユーザーの ID を取得します。

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

4

3 に答える 3

2

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

于 2009-06-11T16:09:23.097 に答える
0

FireBugを使用して、要求された場合に新しい画像があるかどうかを確認します。そうでない場合は、ImageHandler.ashxによって返される画像がキャッシュされていないことを確認してください。これを行うには、FireBugのヘッダーパラメーターを確認します。応答をすぐに期限切れにするか、キャッシュなしに設定されていることを確認します。

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

于 2009-06-11T16:17:07.430 に答える
0

とても助かりました。私は同じ問題を抱えていました。セッション U の memorystream の画像を表示していたところ、キャッシュがクリアされ、機能しました。

于 2009-09-18T14:37:09.657 に答える