2017-04-03 60 views
1

的DOB_TextChanged事件不firing.My代碼是不點火,TextBox_TextChanged事件在C#

.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 
} 

是我做錯了什麼?

+0

什麼是'// mycode'? –

+0

TextChanged事件在您輸入文本框時不會觸發。它會在頁面發生回發時觸發。 –

+0

@ P.Pat沒關係// mycode的是什麼,因爲自從文本框的自動回設置爲true,該事件不觸發 – User2012384

回答

0

你必須檢查一件事.. to aspx (設計)頁面。選擇按鈕。然後單擊F4(屬性)。你必須去事件地區。在這裏,檢查TextChanged事件是否正確給定,就像在服務器頁面中一樣。

0

只是一個簡單的代碼

<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 =真,只有在文本更改後,當控制熄滅的TextBox它會工作。如果文字相同,則不會引發事件。

0

您可以使用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 
    } 
}