1

我在 gridview 中有一个文本框。我已经在其中编写了一些代码textchanged event

<asp:TemplateField HeaderText="AdjAMT" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Center">
    <ItemTemplate>
    <asp:TextBox ID="grdAdjAMT" runat="server" AutoPostBack="true" Text='<%#Eval("ADJAMT") %>'  OnTextChanged="grdAdjAMT_TextChanged"></asp:TextBox>
    </ItemTemplate>
</asp:TemplateField>

我想要的是从后面的代码中为同一个文本框动态添加一个 textchanged 事件,该事件也从函数内部调用。两个 textchanged 事件的代码是相同的。代码如下下面的文本更改事件定义在上面给出的axpx代码:

 protected void grdAdjAMT_TextChanged(object sender, EventArgs e)
    {
    }

下面给出的是我想从中调用动态添加文本的函数changed event

protected void txtAmount_TextChanged(object sender, EventArgs e)
    {
        AdjustAmt();
    }
    private void AdjustAmt()
    {
       TextBox grddynAdjAMT = (TextBox)row.FindControl("grdAdjAMT");
     grddynAdjAMT.TextChanged += grddynAdjAMT_TextChanged;
     }
    void grddynAdjAMT_TextChanged(object sender, EventArgs e)
    {
            //my code
     }

我可以只使用一个 textchanged 事件吗?提前致谢

4

1 回答 1

0

是的,您一次可以使用一个事件处理程序,但您可以change event handler在运行时像这样:

grddynAdjAMT.TextChanged -= grddynAdjAMT_TextChanged;//removing existing event handler
grddynAdjAMT.TextChanged += //add appropiate event handler
于 2013-10-19T12:12:39.463 回答