C# 单击第一次单击时不触发的事件

C# 单击第一次单击时不触发的事件,c#,onclick,pageload,page-lifecycle,autopostback,C#,Onclick,Pageload,Page Lifecycle,Autopostback,我在asp.net中开发这个web应用程序,我在其中创建了一个登录页面,我有两个文本框userId和Password,它们都有自定义验证,以检查MSSQL数据库中的特定userId是否存在userId和Password是否相同。因为我使用自定义验证,所以在两个文本框中都使用“AUTOPOSTBACK=True”。但当自动回邮事件发生时,密码字段变为空白。 所以我在页面加载事件中添加了下面的代码 protected void Page_Load(object sender, Eve

我在asp.net中开发这个web应用程序,我在其中创建了一个登录页面,我有两个文本框userId和Password,它们都有自定义验证,以检查MSSQL数据库中的特定userId是否存在userId和Password是否相同。因为我使用自定义验证,所以在两个文本框中都使用“AUTOPOSTBACK=True”。但当自动回邮事件发生时,密码字段变为空白。 所以我在页面加载事件中添加了下面的代码

        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>");
            }
                        
        } 
protectedvoidbtnlogin\u单击(对象发送方,事件参数e)
{
如果(有效)
{
Write(“警报('Login successful Welcome“+txterserid.Text.Trim()+”);”;
}
否则{
响应。写入(“警报(‘无效凭据’);”;
}
} 
所以当我点击登录按钮时。BtnLogin_Click事件未触发我必须再次单击才能触发该BtnLogin_Click事件。底线是我必须单击两次才能启动单击事件

我不知道为什么会发生这种情况,我想知道第一次点击登录按钮时会发生什么,第二次为什么会工作

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