簡體   English   中英

TextBox_TextChanged事件未在C#中觸發

[英]TextBox_TextChanged Event not firing in c#

DOB_TextChanged事件未觸發。我的代碼是,

Aspx代碼

<asp:TemplateField HeaderText="DOB">
<EditItemTemplate>
  <asp:TextBox ID="DOB" CssClass="datepick" runat="server" AutoPostBack="true" 
               OnTextChanged="DOB_TextChanged"></asp:TextBox>
</EditItemTemplate>
 </asp:TemplateField>

后面的代碼

protected void DOB_TextChanged(object sender, EventArgs e)
{
    //mycode
}

我做錯什么了嗎?

您必須檢查一件事。. 轉到 aspx (設計)頁面 選擇按鈕。 並單擊F4(屬性)。 那里您必須去活動區。 在這里,檢查是否正確給出了TextChanged事件,例如在服務器頁面中。

只是一個簡單的代碼

 <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    <br />
    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
    <br />

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Write("button_click event raised");
    }

    protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
         Response.Write("text_changed event raised : "+ TextBox1.Text);
    }

設置文本框屬性AutoPostBack = True,它僅在更改文本后控件退出TextBox時才起作用。如果文本相同,則不會引發該事件。

您可以改用LinkButtonOnRowCommand

ASPX

<EditItemTemplate>
    <asp:LinkButton ID="test" CommandName="YourCommandName" runat="server">Test</asp:LinkButton>

</EditItemTemplate>

代碼隱藏:

protected void Item_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "YourCommandName")
    {
         //to do
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM