为什么asp.net OnTextChanged不工作

前端之家收集整理的这篇文章主要介绍了为什么asp.net OnTextChanged不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用ASP.NET更新面板来检索使用TextChanged的文本框的用户信息,这里是我的代码: @H_403_2@<asp:UpdatePanel runat="server" ID="up1" ChildrenAsTriggers="true"> <ContentTemplate> <asp:TextBox runat="server" ID="loginEmail" Text="Email" CssClass="textBoxes" OnTextChanged="userInfo" AutoPostBack="true"></asp:TextBox> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="loginEmail" EventName="TextChanged" /> </Triggers> </asp:UpdatePanel>

代码背后:

@H_403_2@string url,emailInfo; emailInfo = loginEmail.Text; url = Membership.GetUserNameByEmail(emailInfo); emailText.InnerText = "Email: " + emailInfo; urlText.InnerText = "Webiste: http://www.Elwazefa.com/User/" + url ;

代码不会在textchanged上发火,但它会发生,
在ButtonClick或PageLoad上.

问题是什么?

使用ASP.NET 4.0

解决方法

@H_403_2@<asp:TextBox AutoPostBack="true" OnTextChanged="thingId_TextChanged" ID="thingId" runat="server"></asp:TextBox>

当文本框中的焦点丢失时,文本框上的AutoPostBack将触发后退. TextChanged事件将被触发任何后续后退(可以由于按钮单击或文本框重点更改).所以你需要确定

>文本更改后,您正在移出文本框
>无论您更改的控件是更新面板的一部分(可以是不同的更新面板).如果没有任何更新面板,那么这些更改将不会在客户端得到体现.

我的猜测是你可能患有#2.您可以使用Fiddler(或Firebug on FireFox)等工具检查当焦点从文本框中丢失时,浏览器是否正在触发AJAX(XHR)请求.

猜你在找的asp.Net相关文章