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”中取出,它会在我启动页面时显示在摘要中但是当我点击一个按钮时它不起作用。谁知道可能出错了什么?
另外作为一些辅助信息,在此类验证方面,服务器端和客户端验证之间的主要区别是什么?
答案 0 :(得分:1)
服务器端和客户端验证之间的最大区别(除了显而易见的)是客户端验证可以阻止您甚至提交页面。服务器端验证仅在页面提交后才会发生。
混合它们会产生这样的情况:用户填写了所有字段,使所有字段和值都正确,然后点击提交 - 然后当页面返回时,会有更多验证消息!