点击事件不会在首次点击时触发

时间:2020-09-09 06:44:33

标签: c# onclick pageload page-lifecycle autopostback

我正在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事件才能工作。

我不知道为什么会这样,我想知道第一次单击登录按钮后会发生什么,为什么第二次会起作用。

这是我的第一篇文章,对于我的英语不好,我感到很抱歉

0 个答案:

没有答案