日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Repeater 中TextBox 触发TextChanged事件

發布時間:2023/12/1 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Repeater 中TextBox 触发TextChanged事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兩種方法

1.TextBox 綁定TextChanged 并設置AutoPostBack ="true" ,如果不設置AutoPostBack ="true"則不會觸發TextChanged事件,然后在對應的方法里面循環Repeater查找改變項

?

部分代碼

<ItemTemplate ><tr><td style ="width :9%;"><%#Eval("Date")%> <asp:HiddenField ID ="hfkey" runat ="server" Value ='<%#Eval("ID")%> ' /></td><td style ="width :9%;"><%#Eval("FBASalesDays")%></td><td style ="width :9%;"><asp:TextBox ID ="txtUPSShipQty" runat="server" Text ='<%#Eval("UPSShipQty")%>' AutoPostBack ="true" OnTextChanged ="btnCal_Click" ></asp:TextBox> </td></tr></ItemTemplate>

?

后臺部分代碼

protected void btnCal_Click(object sender, EventArgs e){foreach (RepeaterItem item in rpdList.Items){if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem){HiddenField hfkey = item.FindControl("hfkey") as HiddenField;TextBox txtUPSShipQty = item.FindControl("txtUPSShipQty") as TextBox;DataRow[] rows = dt.Select("ID ='" + hfkey.Value + "'");if (rows != null && rows.Length > 0){if (rows[0]["UPSShipQty"].ToString().Trim() != txtUPSShipQty.Text.Trim()){rows[0]["UPSShipQty"] = txtUPSShipQty.Text.Trim();CalFBAShipQty2(dt, 3, "UPSShipQty", hfkey.Value.Trim());break;}}}}rpdList.DataSource = dt;rpdList.DataBind();} View Code

?

?

?

2.讓TextBox 觸發Repeater 的ItemCommand事件,同樣需要綁定TextChanged 并設置AutoPostBack ="true",然后在TextChanged事件中調用ItemCommand

?

HTML

<asp:Repeater ID="Repeater1" runat="server" onitemcommand="Repeater1_ItemCommand"> <ItemTemplate> <%#Eval("txt") %><table><tr><td><asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged"></asp:TextBox></td><td><asp:Button ID="Button1" runat="server" Text="Button" /></td><td><asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true"/></td></tr></table> </ItemTemplate> </asp:Repeater>

?

后臺代碼

protected void Page_Load(object sender, EventArgs e) {if (!IsPostBack){DataTable dt = new DataTable();dt.Columns.Add("id");dt.Columns.Add("txt");dt.Rows.Add("1", "1txt");dt.Rows.Add("2", "2txt");Repeater1.DataSource = dt;Repeater1.DataBind();} } protected void TextBox1_TextChanged(object sender, EventArgs e) {//注意這里的參數設置RepeaterCommandEventArgs e1 = new RepeaterCommandEventArgs(((TextBox)sender).NamingContainer as RepeaterItem,sender,new CommandEventArgs("test",null));Repeater1_ItemCommand(Repeater1, e1); } protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) {string ss = e.CommandName;if (ss == "test")Response.Write("123"); } View Code

參考:http://bbs.csdn.net/topics/350011338

?

轉載于:https://www.cnblogs.com/lidaying5/p/6525101.html

總結

以上是生活随笔為你收集整理的Repeater 中TextBox 触发TextChanged事件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。