[英]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時才起作用。如果文本相同,則不會引發該事件。
您可以改用LinkButton
和OnRowCommand
:
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.