我正在asp.net上的此Web应用程序上工作,在该网站上我做了一个登录页面,我有两个文本框userId和Password都具有自定义验证,以检查userId Exist和Password是否与MSSQL数据库中的特定userId相同。因为我使用自定义验证,所以我在两个文本框中都使用了“ AUTOPOSTBACK = True”。但是,发生自动回发事件时,密码字段为空。 所以我将以下代码添加到Page_Load事件中
protected void Page_Load(object sender, EventArgs e)
{
string pwd = txtPassword.Text;
txtPassword.Attributes.Add("value", pwd);
}
我还在此页面中添加了一个“登录”按钮。在该登录按钮单击事件中,我编写了此代码以检查是否 所有表格验证均有效。然后给出这个信息。下面给出的代码
protected void BtnLogin_Click(object sender, EventArgs e)
{
if (IsValid)
{
Response.Write("<script>alert('Login successful Welcome " + txtUserId.Text.Trim() + " ');</script>");
}
else {
Response.Write("<script>alert('Invalid credentials');</script>");
}
}
因此,当我单击“登录”按钮时。 BtnLogin_Click事件未触发,我必须再次单击以触发该BtnLogin_Click事件。最重要的是,我必须单击两次BtnLogin_Click事件才能工作。
我不知道为什么会这样,我想知道第一次单击登录按钮后会发生什么,为什么第二次会起作用。
这是我的第一篇文章,对于我的英语不好,我感到很抱歉