Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ASP.NET OnTextChanged not firing from inside an update panel

I am using an ASP.NET update panel to retrieve user info using the on TextChanged for the textbox, here is my code:

<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>

and the code behind:

string url, emailInfo;
emailInfo = loginEmail.Text;
url = Membership.GetUserNameByEmail(emailInfo);

emailText.InnerText = "Email: " + emailInfo;
urlText.InnerText = "Webiste: http://www.Elwazefa.com/User/" + url ; 

the code wont fire on textchanged but it wil, on ButtonClick or PageLoad.

What is the problem?

Using ASP.NET 4.0

like image 304
Wahtever Avatar asked Jan 02 '12 02:01

Wahtever


1 Answers

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

AutoPostBack on text-box will trigger post-back when the focus is lost from the text box. TextChanged event will be fired on any subsequent post-back (can be due to button-click or text box focus change). So you need to make certain

  1. After text is changed, you are moving out of text-box
  2. Whatever controls that you are change are part of update-panel (can be different update panel). If there are not part of any update panel then those changes won't get reflected on client side.

My guess is you are probably suffering from #2. You can use tool such as Fiddler (or Firebug on FireFox) to check if browser is firing AJAX (XHR) request when the focus is lost from the text-box.

like image 132
VinayC Avatar answered Oct 05 '22 23:10

VinayC