i am using update panel . a textbox is inside the update panel , still page is refreshed when text of textbox is chaned .
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<br />
<table width="70%" cellpadding="5" cellspacing="10">
<tr>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<td style="width: 70px;">
Name
</td>
<td>
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="chkName"></asp:TextBox>
</td>
<td>
<div id="checkusername" runat="server" visible="false">
<asp:Image ID="imgstatus" runat="server" Width="17px" Height="17px" />
<asp:Label ID="lblStatus" runat="server"></asp:Label>
</div>
</td>
</ContentTemplate>
</asp:UpdatePanel>
</tr>
<tr>
<td style="width: 70px;">
LastName
</td>
<td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
<td>
</td>
</tr>
</table>
</div>
</form>
code behind is
protected void chkName(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(TextBox1.Text))
{
con = new SqlConnection(str);
con.Open();
cmd = new SqlCommand("select Name from info where Name=@1", con);
cmd.Parameters.AddWithValue("@1", TextBox1.Text);
SqlDataReader dbr = cmd.ExecuteReader();
if (dbr.HasRows)
{
checkusername.Visible = true;
imgstatus.ImageUrl = "del.gif";
lblStatus.Text = "UserName Already Taken";
System.Threading.Thread.Sleep(2000);
}
else
{
checkusername.Visible = true;
imgstatus.ImageUrl = "available.gif";
lblStatus.Text = "UserName Available";
System.Threading.Thread.Sleep(2000);
}
}
else
{
checkusername.Visible = false;
}
}