這篇文章主要介紹了Repeater事件OnItemCommand取得行內控件的方法,有需要的朋友可以參考一下
記錄一下,主要是這句:
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();
}