加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

为什么asp.net OnTextChanged不工作

发布时间:2020-12-15 19:25:29 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET更新面板来检索使用TextChanged的文本框的用户信息,这里是我的代码: asp:UpdatePanel runat="server" ID="up1" ChildrenAsTriggers="true"ContentTemplate asp:TextBox runat="server" ID="loginEmail" Text="Email" CssClass="textBoxes"
我正在使用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)请求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读