第八讲 常用的Web服务器控件(二)

用户登陆验证实例:
    runat="server" 这个属性可以使HTML控件在后台C#代码中被调用

    看以下脚本代码:
    function LoginCheck() {
            var name = document.getElementById("tbName").value;
            var pwd = document.getElementById("tbPwd").value;
            if (name == "") {
                alert("用户名不能为空");
                document.getElementById("tbName").focus();
                return false;
            }
            if (pwd == "") {
                alert("密码不能为空");
                document.getElementById("tbPwd").focus();
                return false;
            } else {
                return true;
            }
        }

    代码中的return false;的作用是,当满足条件时不进行向服务器提交表单数据。只有当return true;时才向服务器提交数据,以此减少服务器负担。

    还有就是:
    1. HTML控件调用C#事件时,一要添加runat="server" 属性,二要使用onserverclick事件属性
    2. ASP.NET控件调用JS脚本时,使用onClientClick事件。
    3. HTML控件,无论在客户端还是在服务器端,都是通过其value属性获取其值的。它没有ASP.NET控件那么多的属性和事件。


主要内容

    1. 熟练掌握各类验证控件。
    用户注册时,输入了不合标准的信息,怎么办?
        1. 后台手写验证代码:页面回传,用户体验不好
        2. 使用JavaScript脚本进行验证:不安全,与浏览器相关。

    2. ASP.NET提供了验证控件
        1. 能轻松实现浏览器验证,且与浏览器无关
        2. 由在客户端或服务器中运行的验证代码执行
        3. 多种验证控件,验证数据更加简单方便

    3. ASP.NET验证控件
        1. RequireFieldValidator非空验证
            优点:简单易用,只需要设置错误提示信息和指向要验证的控件ID就可以了。
            原理:此控件内置了JS验证控件的脚本
            
            缺点:如果客户端禁用了活动脚本怎么?
            如果禁用了JS脚本,客户端会直接对服务器进行提交数据,即不管客户端需要验证的控件是否为空,它都进行提交,同时服务器不管是不是空的都会执行用户名和密码的判断操作。            

            不用担心,微软帮我们考虑到了这个问题,如果客户端禁用了JS脚本,那就进行双向验证,即在服务器端去获取客户端的验证控件的验证状态,可以使用page对象中的IsValid属性
            如:
            //当客户端禁用了JS脚本后,使用Page对象中的IsValid属性
            if (Page.IsValid)//即只有被验证控件非空时才执行下面的代码块
            {
                if (tbName.Text.Trim() == "admin" && tbPwd.Text.Trim() == "123")
                {
                    Response.Write("登陆成功");
                }
                else
                {
                    Response.Write("用户名或密码错误!");
                }
            }

        2. CompareValidator比较验证控件
            主要用在注册中的密码重校验操作
            同样简单易用
            1. 错误信息提示内容
            2. 要验证的控件
            3. 要将所验证控件进行对比的控件

        3. RangeValidator范围区域验证控件
            验证用户的输入是否满足某个范围或区域
            1. 指定需要验证的控件ID
            2. 错误提示信息
            3. 数据类型type
            4. 最大值和最小值

        4. RegularExpressionValidator正则表达式验证控件
            使用该控件预设的正则表达式来验证用户输入
            1. 错误提示信息
            2. 指定需要验证的控件
            3. 选择系统预设好的验证用户输入的正则表达式

        5. CustomValidator综合验证控件,既可以进行客户端验证,也可以进行服务器端验证,老师让自学,而且还是最重要的一个控件
            此控件,验证过程就是通过
                前端HTML的JS脚本生成客户端函数或
                服务器端生成的事件函数,
                函数中默认的两个参数,
                一个是object,
                一个是对象携带参数EventArgs。
                EventArgs中的Value值就是用户在被验证控件里输入内容,
                根据用户的输入,设置EventArgs的IsValid属性值,
                即可。
            如:
            控件的服务器端事件:OnServerValidate="方法名"
            控件的客户端属性:ClientValidationFunction="方法名"



        6. ValidationSummary
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4.1 使用控件显示文本 实例 显示密码格式文本 实例 显示长日期格式时间 实例 显示金额格式文本 4.2 使用控件显示片 实例 显示验证片 实例 动态显示用户头像 实例 使用网页对话框显示片 实例 实现上传片 实例 GridView控件显示商品缩略 4.3 控件的超级链接 实例 ImageButton按钮超级链接查看商品详细信息 实例 GridView控件使用超级链接模板列查看详细信息 实例 DataList控件模板使用LinkButton查看详细信息 4.4 下拉列表框的应用 实例 间接改变DropDownList当前选项 实例 实现多个DropDownList控件的联动 实例 动态添加、删除DropDownList控件选项 4.5 单选按钮的应用 实例 性别选择 实例 网络考试系统单选题答案的选择 4.6 复选框的应用 实例 登录身份选择 实例 网络考试系统多选题答案的选择 4.7 控件连接数据源 实例 通过向导配置AccessDataSource 实例 通过向导配置SqlDataSource 实例 通过向导配置XmlDataSource 4.8 GridView控件的应用 实例 数据绑定并实现页功能 实例 选、编辑、取消、删除数据项 实例 GridView实现正反双项排序功能 实例 GridView控件DropDownList控件的绑定 实例 通过CheckBox删除选记录 实例 删除GridView控件行信息弹出确认提示框 实例 在GridView控件实现自动编号 实例 GridView控件实现主细表 实例 查看当前页详细信息 实例 单元格指定字符串固定长度 实例 供求信息网审核发布信息 实例 根据学生成绩合格与不合格显示不同颜色 4.9 DataList控件使用 实例 绑定数据并实现页 实例 编辑DataList控件模板显示员工信息 实例 DataList控件实现主细表 实例 DataList控件实现删除功能 4.9 Repeater控件使用 实例 Repeater控件数据绑定 实例 Repeater控件页 实例 编辑Repeater控件标识商品信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值