我有一个网格视图。每行都有一个备用名称(TextBox)和一个隐藏按钮,JQuery 必须自动在文本框“onblur”上单击此按钮。 <asp:GridView ID="GridView1" CssClass="GridView1" runat="server" AutoGenerateColumns="False" EnableViewState="True"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="checkbox1" runat="server" OnClick="checkboxing(this)" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="City Name Id"> <ItemTemplate> <asp:Label ID="NameId" runat="server" Text='<%# Eval("Name_Id") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Alternate Names"> <ItemTemplate> <asp:TextBox runat="server" ClientIDMode="Static" ID="altTxtNames" Style="display: none" onblur="buttonupdate(this)"></asp:TextBox> <asp:Button runat="server" ID="TxtButton" ClientIDMode="Static" Style="visibility: hidden; display: none" OnClick="TxtButton_Click" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>每当备用名称(文本框)中发生“onblur”事件时 onblur="buttonupdate(this)"执行以下 JQuery: function buttonupdate(alternateTxtNames) { $('#TxtButton').click(); }此按钮单击提示执行 aspx.cs 方法,其中使用以下代码从单击的按钮网格视图行中选择已编辑的“备用名称”和“城市名称 Id”的值: protected void TxtButton_Click(object sender, EventArgs e) { Button btn = (Button)sender; GridViewRow gvr = (GridViewRow)btn.NamingContainer; string updatedSNo = (gvr.FindControl("NameId") as Label).Text; int SNo = Convert.ToInt32(updatedSNo); string updatedText = (gvr.FindControl("altTxtNames") as TextBox).Text; }但是每次点击来自另一行时,只选择第一个 gridview 行值,我认为这是使用ClientIDMode的因果关系,因为它无法区分按钮点击与其他行。我应该如何克服这个问题。哪位好心人可以指导一下。
2 回答
- 2 回答
- 0 关注
- 183 浏览
添加回答
举报
0/150
提交
取消