如何取消用户名时发送数据

时间:2015-05-31 06:37:34

标签: javascript html

当有人填写我的注册表并且用户名被删除时,它会刷新页面并说“"用户名已被删除,请选择另一个"。

但是所有填写的数据都被删除了。

如果使用了用户名,我该如何停止刷新,以便用户可以更改它?

protected string msg = "";
protected void Page_Load(object sender, EventArgs e)
{
    if (this.IsPostBack)
    {
        string FirstName = Request.Form["FirstName"];
        string LastName = Request.Form["LastName"];
        string PhoneNumber = Request.Form["PhoneNumber"];
        string Prefix = Request.Form["Prefix"];
        PhoneNumber = Prefix + PhoneNumber;
        int BirthYear = int.Parse(Request.Form["BirthYear"]);
        string Email = Request.Form["Email"];
        string UserName = Request.Form["UserName"];
        string Password = Request.Form["Password"];
        string gender = Request.Form["gender"];
        string dbPath = this.MapPath("App_Data/Database.mdf");
        DAL dal = new DAL(dbPath);
        UtilityUser uu = new UtilityUser(dal);
        if (uu.Exist(UserName))
        {
            msg = "שם המשתמש שבחרת תפוס"; **//username is taken**
        }
        else
        {
            uu.Register(FirstName, LastName, PhoneNumber, BirthYear, Email, UserName, Password, gender);
            msg = "נרשמת בהצלחה!"; **// Register succeed**
        }
    }
}

这是检查用户名的表格:

var UserName = aspnetForm.UserName.value;
    if (UserName.length < 6) {
        document.getElementById("labelUserName").innerHTML = '<img src=\'images/X.png\'>'; //**X icon**
        Fields += "שם משתמש - שדה זה חייב להכיל בין 6 ל־12 תווים\n";
        correct = false;
    }
    else {
        document.getElementById("labelUserName").innerHTML = '<img src=\'images/V.png\'>'; //**V icon**
    }

2 个答案:

答案 0 :(得分:0)

您需要使用Ajax来实现此功能。检查用户名可用性始终是ajax调用。您不需要将所有数据发送到服务器。这似乎不正确

如果您使用的是asp.net webforms,那么只需使用页面方法即可。以下是代码

您的网络方法

 using System.Web.Services;

 namespance namespacename{
 class your classname
 {

 [WebMethod]
 public static string checkAV(string uname)
  {
    //Your sql plus other logic

     if(userAVailable){return "true";}
     else{return "false";}

  }

你的HTML

 <input type="text" id="txtUN" placeholder="username" onchange="return check();"/>

您的Javascript

 function check()
 {
    PageMethods.checkAV($(#txtUN"").val(),success,fail);
 }

 function success(response)
 {
   if(response=="false")
   {
     $("#r").html("user available");
   }
   else
   {$("#r").html("user not available");}
 }

 function fail(error){alert("error occured");}

您需要在脚本管理器中使用它

  <asp:ScriptManager ID="sm" runat="server" EnablePageMethods="true"></asp:ScriptManager>

答案 1 :(得分:0)

你可以这样做:

finally

您应该创建一个方法(网络服务)来检查上面标有您网址的用户名。然后,如果返回的数据有效,请提交表单,或者您可以创建另一个Web服务并通过它提交