3

ASP.NET プロジェクトに放り込まれ、AJAX 経由でフェッチされるコントロールを含むページを取得しました。

コントロールの Page_Load 関数は、クエリ文字列から正しい値を取得するために必要なロジックを少し実行します。

問題は、Page_Load 関数が IE で呼び出されないことです。

ブレークポイントを設定すると、FF でページを読み込んで停止するのを見ることができますが、IE では問題ありません。

私は ASP.NET はかなり (読み: 完全に) 初心者ですが、かなり経験豊富な PHP 開発者です。だから私は、IEがコントロールを取得するためにAJAXコールバックを行う方法におそらく何らかのファンクがあると考えています。

誰かアイデアはありますか?

乾杯

4

6 に答える 6

5

キャッシュの問題だったようで、次のようにすることで解決しました。

protected override void OnLoad(EventArgs e)
{
    Response.Cache.SetNoStore();
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetExpires(DateTime.Now);
    Response.Cache.SetLastModified(DateTime.Now);
    Response.Cache.SetAllowResponseInBrowserHistory(false);
    base.OnLoad(e);
}
于 2009-01-15T00:26:20.780 に答える
1

キャッシュの場合は、OutputCache ディレクティブを使用してオフにする必要があります。

<%@ OutputCache Duration="0" VaryByParam="None" %>
于 2009-01-15T00:34:15.070 に答える
1

javascript をデバッグして、IE でコントロールを取得しようとするかどうかを確認してみてください。できれば。いっそのこと、Fiddler で見てください。 http://www.Fiddler2.com

于 2009-01-14T20:26:31.560 に答える
0

IE 開発者ツールバーを使用してIE の問題をデバッグしようと思いますが、正しい方向に進んでいると思います。

IE の詳細オプションでスクリプトのデバッグを有効にして、スクリプトをデバッグすることもできます。

于 2009-01-14T20:13:23.163 に答える
0

Page_Load の中には何がありますか? ASPX ページで EventWireup が false に設定されているか、コード内の何かです。

于 2009-01-14T20:14:23.847 に答える
0

IE8 では JavaScript をデバッグできます。私の知る限り、サーバーはすべてのブラウザからのリクエストを同じように処理するため、あなたが説明していることは典型的なセットアップでは起こらないはずです。正しいブレークポイントと正しいページに座っていますか?

おそらく、page_load の小さなサンプルと、ブレークポイントを設定している場所、およびそれをコールバックする JS を投稿できますか?

参考までに、ASP.NET ページのライフサイクルを次に示します。

于 2009-01-14T20:40:39.940 に答える