The right way to do this is to modify your javascript function
function ShowAvailability()
to send ajax calls to server only in case the textbox is having some content.
function ShowAvailability() {
if($.trim($('#'+'<%=txtUserName.ClientID%>').val())!="")
{
}
}
Also you can modify your server side code to include null check.
public static string CheckUserName(string userName)
{
string returnValue = string.Empty;
if ( userName.Trim() != "")
{
try
{
string SqlConnect = System.Configuration.ConfigurationManager.ConnectionStrings["Connect"].ConnectionString;
SqlConnection Sqlconn = new SqlConnection(SqlConnect);
SqlCommand cmd = new SqlCommand("spx_CheckUserAvailability", Sqlconn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@UserName", userName.Trim());
Sqlconn.Open();
returnValue = cmd.ExecuteScalar().ToString();
Sqlconn.Close();
}
catch
{
returnValue = "error";
}
}
else
returnValue = "null";
return returnValue;
}