- PR -

GridViewのButtonFieldカラムクリックで2回Submitが発生してしまう。

1
投稿者投稿内容
Baw
会議室デビュー日: 2008/02/13
投稿数: 2
投稿日時: 2008-02-13 15:02
皆様始めまして初めて、プログラミングで壁にぶち当たりまして
投稿させていただきます。

現在、ASP.NET 2.0でWebアプリケーションを開発しています。
そこで、
GridViewのButtonFieldカラムクリックで2回Submitが発生する
と言う現象に悩まされています。

状況を説明しますと

あるページでGridViewを配置し、カラムとしてButtonFieldを3つほど追加して
利用しています。
ButtonFieldカラムいずれもgifイメージを表示しクリックで処理を行うと
いう形をとっていますが、
どのボタンをクリックしても、同じイベントが2回ずつ発生してしまいます。
(厳密に言うとPage_Loadイベントと、CommandNameプロパティに"Edit"を
設定してあるカラムは、「RowCommand」「RowEditing」
CommandNameプロパティに"Delete"を設定してあるカラムは、
「RowCommand」「RowDeleting」いずれも2回発生しています)

原因を追究していくと、クライアント側でSubmitが2回連続して発生しているようですが、なぜ2回連続してSubmitされているのか見当が付きません。
(Submit2回の確認方法:
Formタグに↓
onsubmit="if(confirm(event.srcElement.name)){return true;}else{return false;}"
を追加して確認)

何か心当たりのある方、ご連絡をいただければ幸いです。
よろしくお願いします。

開発環境
WindowsXP Pro SP2
.NET Freamework2.0 SP1
VisualStudio 2005 Pro SP1

ソース、その他
'一覧Gridの初期化
With gridView
.EnableViewState = False
.AutoGenerateColumns = False

Dim btnCol As ButtonField = New ButtonField
btnCol.ButtonType = ButtonType.Image
btnCol.CommandName = "Edit"
btnCol.HeaderText = "編集"
btnCol.ImageUrl = "~/App_Themes/Basic/Image/icon_edit.gif"
btnCol.ItemStyle.Width = New Unit(35, UnitType.Pixel)
.Columns.Add(btnCol)

btnCol = New ButtonField
btnCol.ButtonType = ButtonType.Image
btnCol.CommandName = "Delete"
btnCol.HeaderText = "削除"
btnCol.ImageUrl = "~/App_Themes/Basic/Image/icon_del.gif"
btnCol.ItemStyle.Width = New Unit(35, UnitType.Pixel)
.Columns.Add(btnCol)
...
End With

該当のページはMasterPage内で利用しています

以上
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-02-14 00:38
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34566&forum=7
これですかねぇ
Baw
会議室デビュー日: 2008/02/13
投稿数: 2
投稿日時: 2008-02-14 09:22
べる様
返信ありがとうございます。

最後のtrapemiya様の返信を読むとバグですか。
私もBT様に倣ってTemplateFieldで解決したいと
思います。

ありがとうございました。

MSには誰も報告してないのかなぁ・・・
1

スキルアップ/キャリアアップ(JOB@IT)