[英]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.