如何在GridView RowCreated事件中使用发件人来查看是否触发了Gridview按钮?

时间:2014-07-10 11:18:16

标签: c# gridview

我有一个GridView,它在一列中加上ImageButtons。 我需要在所述Gridview的RowCreated事件中检查是否有任何加号ImageButtons被触发。 我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

我不确定您为什么要检查在创建它的事件期间是否单击了按钮。如果我对页面生命周期的理解是准确的,那么事件日志的siplified版本将如下所示:

//新行创建

//触发回发

  • Page_Load活动
  • Row_Created事件

//客户点击按钮

//触发回发

  • Page_Load活动
  • Button_Clicked事件

这意味着在Row_Created事件期间始终会取消单击所有按钮。判断是否单击按钮的最佳方法是为其创建事件处理程序。请记住,即使没有事件处理程序,单击按钮也会触发回发。

同样是jmodrak,Row_Created事件的发送者是为该行创建的GridView。

答案 1 :(得分:0)

我希望我能理解你,但是如果没有代码,你就永远感觉不够,还是......

使用is关键字,您可以检查发件人的类型。

if(sender is ImageButton)
    Console.WriteLine("BUTTON CLICKED");
if(sender is Label)
    Console.WriteLine("LABEL CLICKED");

然后,如果您希望使用sender的属性,例如。如果它是ImageButton并且您想知道确切地点击了哪个ImageButton,那么就这样去

var button = sender as ImageButton;
string buttonName = button.Name;