当有人填写我的注册表并且用户名被删除时,它会刷新页面并说“"用户名已被删除,请选择另一个"。
但是所有填写的数据都被删除了。
如果使用了用户名,我该如何停止刷新,以便用户可以更改它?
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**
}
答案 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服务并通过它提交