oddvalidator.cs

来自「asp.net经典案例资料」· CS 代码 · 共 48 行

CS
48
字号
namespace snowy
{
    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    public class OddValidator : BaseValidator
    {
        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            base.AddAttributesToRender(writer);
            writer.AddAttribute("evaluationfunction", "OddIsValid");
        }    

        protected override void OnPreRender(EventArgs e)
        {
          base.OnPreRender(e);
          string script = @"
            <script language=""javascript"">
            function OddIsValid(val)
            {
              var value = ValidatorGetValue(val.controltovalidate);
              if( value % 2 == 0)
                return true;
              else
                return false;
            }
            </script>";
          if(!Page.IsClientScriptBlockRegistered("odd"))
            Page.RegisterClientScriptBlock("odd", script);
        }

        protected override bool EvaluateIsValid() 
        {
            string controlValue = GetControlValidationValue(ControlToValidate);

            try
            {
              if( int.Parse(controlValue) % 2 == 0 )
                return true;
            }
            catch{}
            return false;
        }                
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?