1

ここで述べたのと同じ問題に直面しています。

GridView で ButtonField を使用し、ButtonType を「image」に設定すると、クリックすると 2 つの http 投稿が作成されます。これらのワンクリックでの複数のポストバックの場合、Postback の値は、最初は「false」、2 回目は「true」です。ボタンの種類がリンクやシンプルボタンの場合は正常に動作します。

<asp:ButtonField ButtonType="Image" Text="Delete" CommandName="Delete"
 CausesValidation="false" ImageUrl="../images/Delete.gif" ></asp:ButtonField>

マイクロソフトは、これは既知の問題であり、まだ修正されていないと述べています。これに対処する方法は、ほとんどの場合に適したソリューションであるテンプレート フィールドを使用することですが、私の場合、テンプレート フィールドを使用できず、ボタンは画像でなければなりません。タイプ。この問題に対処できる他の方法はありますか?

更新: IE6、7、8 のすべてのバージョンで同じ問題が共有されます。回避策がある場合は、投稿してください。

Update2 : 2 つのポストバックの IsPostback の値が異なる場合でも、「Request.HttpMethod」の値は常に「POST」です。これを確認することは可能な修正の 1 つですが、上記のシナリオでグリッドが ButtonField 列で使用されている各ページで実行する必要があります。これより良いアイデアはありますか?

4

1 に答える 1

0

http://connect.microsoft.com/VisualStudio/feedback/details/104617/double-postback-using-buttonfieldで述べたように

ボタンフィールドを画像ボタンに変更できます

于 2012-05-21T10:09:38.223 に答える