1

パーソナライズされたドロップダウンリストであるユーザーコントロールを含むページがあります。各アイテムに属性を割り当てます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でのみ発生します。

4

2 に答える 2

3

これは、IE6 の既知のバグ (#223) であり、魔法の HTTP 取得要求が発生します。

ここでバグを参照してください: http://webbugtrack.blogspot.com/2007/09/bug-223-magical-http-get-requests-in.html

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

于 2008-10-16T02:48:53.070 に答える
0

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

于 2008-10-15T21:37:49.563 に答える