为什么asp.net OnTextChanged不工作

前端之家收集整理的这篇文章主要介绍了为什么asp.net OnTextChanged不工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用ASP.NET更新面板来检索使用TextChanged的文本框的用户信息,这里是我的代码
<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>

代码背后:

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

解决方法

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

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

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

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

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