0

ASP .NET ページにフォームがあり、ボタンの onclick イベントが doPostBack 関数に関連付けられています。ただし、そのボタンをクリックするとフォームが 2 回送信されます。サーバー側のデバッガーは Page_Load を 2 回入力し、Fiddler は 2 つの aspx 要求などを記録し、302 リダイレクトなどはなく、非常に単純なページです。

__doPostBack 関数にブレークポイントを設定すると、それも 1 回呼び出されます (おそらく単なる錯覚です)。

問題を見つけるためにクライアント側をさらに深くデバッグする機会はありますか?

ありがとう、パヴェウ

4

3 に答える 3

1

イベント ハンドラーを手動で接続しますか? その場合、ASPX の Page ディレクティブで AutoEventWireup="true" かどうかを確認する必要があります。その場合は、false に変更するか、手動配線を取り外します。これは、デザイナー ファイルを使用して古いページを新しい Web アプリケーション形式にアップグレードするときに発生する可能性があります。

于 2010-07-27T14:00:08.117 に答える
1

Ok。わかりました: input type="image" 持っていました

onclick="__doPostBack(.....)" 

私がそれを変更したとき:

onclick="_doPostBack(...); return false;"

2つのリクエストの問題がなくなりました。Fiddler によって記録されたリクエストは 1 つだけで、Page_Load は 1 回呼び出され、すべてが適切です。

したがって、クリック時に自動フォーム送信を引き起こす HTML 要素を使用する場合は注意してください ;)

ありがとう、パヴェウ

于 2010-07-28T11:15:28.493 に答える
0

ポストバックの原因は 2 つあります。ボタンは送信ボタンであり、onclick ハンドラもありますか? これにより、この動作が発生します。

Fiddler に表示される 2 つの ASPX 要求は同じですか、それともわずかに異なるだけですか?

于 2010-07-27T14:00:16.540 に答える