1

列の1つにボタンがあるグリッドビューがあります。コードビハインドを使用してグリッドビューに列を追加します。この行を使用して、クリックイベントを添付しました。

cmd1.OnClientClick += new EventHandler(cmd1_Click);

これで、そのボタンをクリックするたびに、実行時エラーが発生しSystem.EventHandler<input type="submit" name="grvList$ctl02$ctl05" value="Add" onclick="System.EventHandler;" />

誰かがこの問題に遭遇しましたか。

4

1 に答える 1

4

ユーザー user1090190 がコメントに書いたように、onclick(から生成されたOnClientClick) は Web ブラウザーで JavaScript として実行されます。

この場合の は、作成された新しいオブジェクトを+=呼び出しており、結果は string になります。(式は に展開され、 が文字列として入力されるため、暗黙的な変換が行われます。)ToString()EventHandler"System.EventHandler"+=cmd1.OnClientClick = cmd1.OnClientClick + (new EventHandler(cmd1_Click));OnClientClick

おそらく次のようになるはずです(いいえ Clientに注意してください):

cmd1.Click += new EventHandler(cmd1_Click)

または、もっと簡単に (オートコンプリートが常に「ラップ」される理由を聞かないでください):

cmd1.Click += cmd1_Click;

必要に応じて、このハンドラーがポストバックごとにセットアップされていることを確認してください。

ハッピーコーディング。

于 2012-05-02T21:15:22.833 に答える