0
    using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication3
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {


            if (IsPostBack)
                CustomValidator1.Validate();
        }

        protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            if (RadioButton1.Checked == false && RadioButton2.Checked == false)
                args.IsValid = false;
            else
                args.IsValid = true;

        }




    }
}

这是我用来编写服务器端自定义验证器的代码。我无法理解这是如何工作的,因为如果我将它从 IsPostBack“if”中取出,它会在我启动页面时显示在摘要中,但是当我单击按钮时它不起作用。有谁知道可能出了什么问题?

同样作为一些侧面信息,就这种类型的验证而言,服务器端验证和客户端验证之间的主要区别是什么?

4

1 回答 1

1

服务器端和客户端验证之间的最大区别(除了显而易见的)是客户端验证甚至可以阻止您提交页面。服务器端验证仅在页面提交后发生。

混合它们可以产生这样一种情况,即您,用户,已经填写了所有字段,使所有内容都具有正确的长度和值,然后点击提交——然后当页面返回时,会有更多的验证消息!

于 2012-11-13T22:58:51.043 回答