asp.netでのIE6ポストバック
-
03-07-2019 - |
質問
個人用のドロップダウンリストであるユーザーコントロールを含むページがあります。各アイテムに属性 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コントロールで自動生成される必要があります。
所属していません StackOverflow