C# 如何从ContextChanged事件获取GridViewEventArgs?

C# 如何从ContextChanged事件获取GridViewEventArgs?,c#,asp.net,C#,Asp.net,我在GridView>Column>asp:TemplateField>ItemTemplate中有一个文本框: <asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" AutoPostBack="true" /> 但是这个文本框对于表中的每一行都存在,那么如何获取触发事件的行的Id呢 例如,对于OnRowEditing事件,它将传递GridViewEditEventArgs,而不

我在GridView>Column>asp:TemplateField>ItemTemplate中有一个文本框:

<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged" AutoPostBack="true" />
但是这个文本框对于表中的每一行都存在,那么如何获取触发事件的行的Id呢


例如,对于OnRowEditing事件,它将传递
GridViewEditEventArgs
,而不仅仅是
EventArgs

,因此,据我所知,这个问题是,您希望获取保存触发更改事件的
文本框的
控件的行索引。
您可以这样做:

protected void TextBox1_TextChanged(object sender, EventArgs e) 
{
    TextBox tb = (TextBox)sender;
    GridViewRow row = (GridViewRow)tb.NamingContainer;
    int i = Convert.ToInt32(row.RowIndex);
}

您应该能够在
TextBox1\u TextChanged
方法中执行类似于
(发送者作为Textbox).ID
(发送者作为Textbox.Text)的操作。您是说行的
ID
来索引行,还是说您有hiddenfield等。。在行?
protected void TextBox1_TextChanged(object sender, EventArgs e) 
{
    TextBox tb = (TextBox)sender;
    GridViewRow row = (GridViewRow)tb.NamingContainer;
    int i = Convert.ToInt32(row.RowIndex);
}