• Request 扩展


    asp.net编程中,经常要传递参数,获取参数;

    以get形式传参为例,获取参数时,要这样写
                int id;
                if (Request.QueryString["id"] != null)
                {
                    id = Convert.ToInt16(Request.QueryString["id"].Trim());
                }

    首先判断该参数是否存,然后获取并转为数值型。其实,即便如此,上面的代码也是不够安全的,例如,id等于空,或是非数字字符,都会出错的。

    要写一个完整的参数获取代码,真是挺烦的,而且这种代码,会经常的用到。于是决定写一个东西专门处理它。

    两个类:Extend.Request用来获取参数,Parameter用来处理参数(后面会提供代码)。代码很简单,但还算实用

    实现前面的效果,用如下代码即可:
    int id = Extend.Request.QueryString["id"].Int16 ?? 0;

    获取id参数后,后面缀上Int16,就转为int型了,如果参数不存在,或异常,会返回空;?? 的意思是,如果为空,就返回后面的0(即你自己设定的默认值);

    当然,这个Extend.Request,不止可以获取QueryString参数,还要获取如下几种形式的参数:
    1、Cookies (例如Extend.Request.Cookie ["id"].Int16
    2、Session
    3、Form
    4、QueryString
    5、TextBox (例如Extend.Request.TextBox[tbPw].MD5

    当然Parameter,也不止提供将参数转为Int型的方法,还提供如下几种转换:
    String
    Boolean
    DateTime
    Double
    Int16
    Int32
    Int64
    MD5(返回参数md5加密后的字符串)
    UrlDecode(返回参数URL解码后的字符串)
    HtmlDecode(返回参数HTML解码后的字符串)

    代码点儿长,一篇文章提交不完,再续两篇吧。下面是代码

    Request扩展的代码(Requst类)
    Request扩展的代码(Parameter类)

  • 相关阅读:
    Java 泛型约束
    Java 单例模式
    Java中的Atomic包使用指南
    基数排序
    归并排序
    插入排序
    选择排序
    交换排序
    Java多线程 LockSupport
    Java并发控制:ReentrantLock Condition使用详解
  • 原文地址:https://www.cnblogs.com/2hill/p/1361189.html
Copyright © 2020-2023  润新知