- - PR -
動的にリンクボタンを配置してクリック時に呼びたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2009-01-22 16:37
お世話になります。
GridView コントロールのセルに動的にリンクボタンを配置してそのリンクボタンをクリックしたことを取得したいのですが下記のコードでは、うまくいきません。 ポストバックは、起きているようですが、そのあとに下記ハンドらが呼ばれていません。どうしたら呼べるようになるか教えてください。 ASP.NET C#
| ||||
|
投稿日時: 2009-01-22 16:56
LinkButton がクリックされたことを検出したいんですよね?
提示されたコードですと DataBinding イベントにハンドラを用意していますが これを Click イベントに変えたらどうなりますか? たぶんですが、DataBinding イベントが発生しないのは DataBinding イベントが RowDataBound イベントよりも前に 発生しているためかと思います。 (DataBinding イベントの発生時には、ハンドラの関連付けが処理されていないため) _________________ C#と諸々 | ||||
|
投稿日時: 2009-01-22 17:01
お世話になります。
myButton.Click += new System.EventHandler(this.TemplateControl_DataBinding); に変更することで呼び出されるようになりました。 ありがとうございます。 ですが、もう一つ疑問ができました。というのは、動的作成時に、テキスト名がすべて同じなためどれがクリックされたか区別がつきません。 作成時にコメントか何か埋め込むことはできませんか? 教えてくださいお願いします。 | ||||
|
投稿日時: 2009-01-22 17:10
RowDataBound イベントハンドラで LinkButton のCommandArgument プロパティに ID などを格納しておけば良いかと。
_________________ C#と諸々 | ||||
|
投稿日時: 2009-01-23 10:36
お世話になります。
遅くなりましたが、おっしゃる通り CommandArgument にIDの追加でうまく取得できました。 ありがとうございました。 |
1