如何在不刷新页面的情况下验证表单?

时间:2017-04-03 12:55:45

标签: c# jquery asp.net

我的Site Master上有一个登录按钮。如果单击该按钮,登录表单将通过此jQuery代码从屏幕左侧“弹出”:

$(document).ready(function () {
$("#logpad").click(function () {
    $('.menu').animate({
        left: '100%'
    }, 600);
});

所以基本上登录窗口总是在主页中,但是在点击登录按钮之前一直隐藏,jquery通过动画将其强制显示为100%(全宽)。

请原谅我令人困惑的名字,但在这种情况下,logpad代表登录按钮,类'menu'代表透明登录窗口,如下所示:Click here to see the image

问题在于,只要给出了错误的电子邮件/密码(我的数据库中找不到凭据),页面就会刷新,您必须再次单击登录按钮才能看到相同的窗口但是有一个额外的标签“您输错了电子邮件或密码“,来自此c#代码(验证功能的一部分):

 if (i > 0)
                {
                    Turists turist = TuristsFacade.TuristsGetByEmailAndPassword(email, password);
                    if (turist.ID != -1)
                    {
                        Session["TuristName"] = turist.Name + " " + turist.SurName;
                        Response.Redirect("~/EN/index.aspx");
                    }
                    else
                    {
                        lblMessage.Text = "Your email or password is incorrect.";
                        lblMessage.ForeColor = Color.Red;
                        msg.Visible = true;
                    }
                    ds.Clear();
                }

如何在不需要刷新页面的情况下验证表单(换句话说,是否可以直接验证,或者另一个选项是在透明窗口保持不正确的情况下保留)。

1 个答案:

答案 0 :(得分:1)

您可以使用类似于ajax调用的UpdatePanel,但是使用C#样式。 Details

通过使用此功能,您可以更新标签,让我们停留,您可以在其中显示相应的消息,而无需刷新页面