关于repeater内控件的事件绑定,内部模板列

比较常规的方法是   使用Repeat(DataGrid,DataList,GridView均一样)   的   ItemCommand   事件,如  //    .aspx     < asp:Repeater   ID =   " Repeater1  "    runat =   " server  "    OnItemCommand =   " Repeater1_ItemCommand  " >                            < ItemTemplate >                                    < asp:Button   ID =   " btn  "    CommandName =   " SayHello  "    runat =   " server  "    Text =   " SayHello  "     />                            </ ItemTemplate >   </ asp:Repeater >   //    .aspx.cs           protected     void    Repeater1_ItemCommand( object    source,   RepeaterCommandEventArgs   e)          {                   switch    (e.CommandName)   {                           case     " SayHello  " :                                  Response.Write(e.Item.ItemIndex);                                  Response.Write(e.CommandArgument);    //    自定义的参数信息                                   break ;                                          }          }  3 .  直接设置   button   的   click   事件,   当然处理程序需要一点技巧才能获取其他信息,   如:  //    .aspx     < asp:Repeater   ID =   " Repeater2  "    runat =   " server  "    OnItemCommand =   " Repeater1_ItemCommand  " >                            < ItemTemplate >                                    < asp:Button   ID =   " btn  "    runat =   " server  "    CommandArgument =   '  <%#   Eval( "SomeFieldName ")   %>  '    Text =   " SayHello  "    OnClick =   " btnInRepeat2_Click  "     />                                    < input   id =   " btn2  "    runat =   " server  "    runat =   " server  "    value =   " SayHello  "    onclick =   " btn2InRepeat2_Click  "     />                            </ ItemTemplate >                    </ asp:Repeater >   //    .aspx.cs     protected     void    btnInRepeat2_Click( object    sender,   EventArgs   e)          {                   //    触发事件的   Button                  Button   btn    =    sender    as    Button;                   //    Button   所在行                  RepeaterItem   item    =    btn.NamingContainer    as    RepeaterItem;                          }           protected     void    btn2InRepeat2_Click( object    sender,   EventArgs   e)          {                   //    触发事件的   Button                  HtmlButton   btn    =    sender    as    HtmlButton;                   //    Button   所在行                  RepeaterItem   item    =    btn.NamingContainer    as    RepeaterItem;          }  4 .    对于   button   ,建议使用   WebControl   的   Button   而不是使用   runat = serer   的   input,  你看到了   button   具有   CommandName   和   CommandArguments   可以使用  Hope   helpful !
1.   不推荐使用Html   Web   Controls 2.   如果在Repeater中ItemTemplate中放的按钮,一般使用ItemCommand事件处理即可,无需自己再注册事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值