Repeater事件OnItemCommand取得行内控件的方法
程序员文章站
2024-02-25 15:30:03
记录一下,主要是这句:textbox txtnum = e.item.findcontrol("txtnum") as textbox;
repeater真是太强了,太灵...
记录一下,主要是这句:
textbox txtnum = e.item.findcontrol("txtnum") as textbox;
repeater真是太强了,太灵活。除了repeater别的都不用。
复制代码 代码如下:
<table>
<asp:repeater id="rptlist" runat="server"onitemcommand="rptlist_itemcommand">
<itemtemplate>
<tr>
<td><asp:textbox id="txtnum" runat="server" text='<%#eval("pronum")%>'></asp:textbox></td>
<td><asp:button id="btnupdate" runat="server" text="更新"commandname="update" commandargument='<%#eval("pid") %>' /></td>
</tr>
</itemtemplate>
</asp:repeater>
</table>
复制代码 代码如下:
protected void rptlist_itemcommand(object source, repeatercommandeventargs e)
{
switch (e.commandname)
{
case "update":
string arg = e.commandargument.tostring();//取得参数
//找到激发事件的行内控件,这个很有用,能将更多需要的参数值传递过来。
textbox txtnum = e.item.findcontrol("txtnum") as textbox;
//下面执行业务逻辑
string jsstr = "<script>alert('删除成功!" + txtnum.text + "')</script>";
page.clientscript.registerclientscriptblock(this.gettype(), "alert", jsstr,false);
break;
}
bind();
}