私の兄は最近 Ajax を使用する必要があったので、asp.net ajax を使用して実装しました。まあ、簡単で、数回クリックするだけで完了しました。しかし、すぐに問題が発生し、私の URL と競合しました。 URL 書き換えモジュールは自分で作成し、サーバー フォームの送信場所が間違っている問題を解決しましたが、ポストバックに 2 回目に ajax を使用すると 404 エラーが報告されます。 、cnblogs に来て、この問題について話している人を見て、実際にアクションを変更することで解決できると言いました。私はずっと前にアクションの問題を解決したことがあり、それが最善のようでした。解決策...そこで、フックプログラムを開き、各IEの最終ポストアドレスをキャプチャしたところ、ajaxの2回目のポストバック後に、その送信アドレス(ページのアクションではなく、form._initialActionと呼ばれるものが生成された)がわかりました。 by js inside aspnet ajax) になります。 もちろん、相対パスに変更すると問題が発生します。そのため、URL の書き換えが ajax と競合することがわかった場合は、この問題をテストすることに注意して、放置しないでください。問題を発見する前にオンラインで確認してください...アクションを変更すればすべてがうまくいくとは思わないでください...実際、この問題は「ASP.NET AJAX RC1」の欠陥だと思います。なぜ相対パスを使用するのでしょうか。あまり変なことをせずに、素直に行動したほうが良いのではないでしょうか?もちろん、私は彼の設計原則を理解していませんが、この問題を解決するための関連コードは次のとおりです。
お気づきかもしれませんが、このコードはアドレスに乱数を追加しています。これは実際には後者の問題 (ブラウザ キャッシュの競合) を解決するためのものですが、うまく解決されていません。 。 。
OK、書き換えの競合は解決されましたが、2 番目の問題が再び発生しました。 。 。推測の結果、タグを追加および削除する機能を作成したのは言うまでもなく、そのクリックイベントを通じてCommandNameを使用してタグを追加しました。このとき、複数のタグを追加してそのうちの1つをクリックして削除すると、アップデートパネルのタグリストが最初のタグを追加する前の状態に戻ったので、それがキャッシュされたのではないかと問題が発生しました。問題は、サーバー コードに Response.Cache.SetNoStore(); を追加したことです。
Response.Cache.SetLastModified(DateTime.Now); これで問題が解決できればいいのですが、実際には役に立ちません(笑)。そこで、上記の js コードを使用して、フォームを割り当てるときに URL の末尾に乱数を追加しました。 _initialAction.number を指定しても、結果はまだ無効です。 。 。この問題は、この乱数が毎回効果を発揮しない場合に発生すると思いますが、asp.net ajax の原理を深く理解する時間が本当にないので、この問題の解決方法を知っている友人が教えてくれることを願っています。最初に解決するのを手伝ってください。Xiaodi 戻ってもう一度勉強してください。
http://www.cnblogs.com/cnlamar/archive/2007/01/08/614671.html