質問

個人用のドロップダウンリストであるユーザーコントロールを含むページがあります。各アイテムに属性 onClick = __ doPostBack( 'actrl'、0)を割り当てます。

ページのポストバックを正常にクリックすると、期待どおりの結果が得られました。ただし、IE6では、私のページはサーバーからロードされた新しい値に変更されません。

奇妙なことは、Shiftキーを押しながらリンクをクリックすると、すべての変更でページが正常にリロードされることです。

ページのキャッシュを無効にしようとしましたが、うまくいきませんでした。

このすべてのコードを使用

Response.CacheControl = "no-cache"
Response.AddHeader("Pragma", "no-cache")
Response.Expires = -1
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Page.Response.Cache.SetExpires(DateTime.Now.AddDays(-30))
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache)
Page.Response.Cache.SetNoServerCaching()
Page.Response.Cache.SetNoStore()
Response.Cache.SetNoStore()

また、アプリケーションをデバッグすると、生成される生成されたhtmlが正しいことがわかりますが、レンダリングされません。

この問題はIE6でのみ発生します。

役に立ちましたか?

解決

これは、既知のIE6バグ(#223)であり、魔法のHTTP get要求です。

こちらのバグをご覧ください: http://webbugtrack.blogspot。 com / 2007/09 / bug-223-magical-http-get-requests-in.html

IE6でインラインイベントハンドラーがページを変更したときに発生します。

他のヒント

問題は、IE6がサーバーからページをリロードしないことです(キャッシュされたコピーを取得するだけです)が、フォームポストIE6はリロードする必要があります。なぜ_doPostBackを属性として追加するのか、それらはポストバックが必要なasp.netコントロールで自動生成される必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top