用户控件中的文本框文本更改事件

本文关键字:文本 事件 用户 控件 | 更新日期: 2023-09-27 18:35:03

我想在用户控件中触发txtPlanCode的文本更改事件,但不幸的是我的文本更改没有触发。 我的代码有什么问题?

请帮忙谢谢:)

 //CodeBehind of my page
protected void ucPlan_OnTextChanged(object sender, EventArgs e)
{
    TxtPlanDesc.Text = Session["PlanDesc"].ToString();
}
//Client side (.aspx) 
<uc2:PlanID ID="ucPlanCode" runat="server"  ucPlan_OnTextChanged="ucPlan_OnTextChanged" autopostback="true"/>
//ucPlanID.ascx.cs
protected void Page_Load(object sender, EventArgs e)
{
}
public string PlanID
{
    get
    {
         return txtPlanCode.Text;
    }
    set
    {
         txtPlanCode.Text = value;
    }
 }
 public bool AutoPostBack
 {
     get
     {
          return txtPlanCode.AutoPostBack;
     }
     set
     {
          txtPlanCode.AutoPostBack = value;
     }
 }
 //ucPlanID.ascx 
<asp:TextBox ID="txtPlanCode" runat="server" CssClass="form-control" MaxLength="20" Enabled="true" Text='<%#Eval("PlanCode") %>' OnTextChanged="txtPlanCode_TextChanged"></asp:TextBox>

用户控件中的文本框文本更改事件

在用户控件上:

  public event EventHandler TextChangeEvent;
    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
        if (TextChangeEvent != null)
            TextChangeEvent(this, e);
    }
<asp:TextBox ID="TextBox1" runat="server" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>

在页面上 :

<script runat="server">
protected void Some_TextChanged(object sender, EventArgs e)
    {
        // your code here 
    }
    </script>