/** 扩展NameValueCollection* 调用方法:Request.QueryString.IsNumeric("ID")
*/using System;
using System.Collections.Specialized;
using System.Text.RegularExpressions;namespace App
{/// <summary>/// 扩展 System.Collections.Specialized.NameValueCollection/// </summary>public static class NameValueCollectionExtensions{/// <summary>/// 使用正表达式来验证指定值/// </summary>public static bool IsMatch(this NameValueCollection nv, string key, string pattern){return Regex.IsMatch(nv[key] ?? "", pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);}/// <summary>/// 检查指定值是否为数字/// </summary>public static bool IsNumeric(this NameValueCollection nv, string key){return Regex.IsMatch(nv[key] ?? "", @"^\d{1,}$");}/// <summary>/// 以string类型返回指定值,如值非纯数字则返回空字符串/// </summary>public static string ToNumeric(this NameValueCollection nv, string key){return nv.IsNumeric(key) ? nv[key].Trim() : "";}/// <summary>/// 以int类型返回指定值/// </summary>public static int ToInt(this NameValueCollection nv, string key){int val = 0;int.TryParse(nv[key], out val);return val;}/// <summary>/// 以long类型返回指定值/// </summary>public static long ToLong(this NameValueCollection nv, string key){long val = 0;long.TryParse(nv[key], out val);return val;}/// <summary>/// 以short类型返回指定值/// </summary>public static short ToShort(this NameValueCollection nv, string key){short val = 0;short.TryParse(nv[key], out val);return val;}/// <summary>/// 以byte类型返回指定值/// </summary>public static byte ToByte(this NameValueCollection nv, string key){byte val = 0;byte.TryParse(nv[key], out val);return val;}/// <summary>/// 返回安全的SQL字符串/// </summary>public static string ToVarchar(this NameValueCollection nv, string key){//string val = nv[key] ?? "";//val = val.Replace("'", "''");return (nv[key] ?? "").Replace("'", "''");}/// <summary>/// 以bool类型返回指定值/// </summary>public static bool ToBoolean(this NameValueCollection nv, string key){bool val = false;bool.TryParse(nv[key], out val);return val;}/// <summary>/// 检查指定值是否为DateTime类型/// </summary>public static bool IsDateTime(this NameValueCollection nv, string key){DateTime date;return (DateTime.TryParse(nv[key], out date));}/// <summary>/// 以DateTime返回指定值,如指定值为非法日期则返回当前时间/// </summary>public static DateTime ToDateTimeOrNow(this NameValueCollection nv, string key){DateTime date = DateTime.Now;DateTime.TryParse(nv[key], out date);return date;}/// <summary>/// 以DateTime返回指定值,如指定值为非法日期则返回null/// </summary>public static DateTime? ToDateTimeOrNull(this NameValueCollection nv, string key){DateTime date;if (DateTime.TryParse(nv[key], out date))return date;elsereturn null;}}
}

还是这个界面比较清爽,呵呵……

转载于:https://www.cnblogs.com/apphost/archive/2009/09/19/1569864.html

扩展NameValueCollection相关推荐

  1. MVC分页控件之二,为IQueryable定义一个扩展方法,直接反回PagedListT结果集

    namespace Entity {     public interface IPagedList     {         /// <summary>         /// 记录数 ...

  2. 我的KT库之-----扩展方法

    了解或者认识KT: http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html 在项目中如何使用KT? KT是一个库,所以将KT的dl ...

  3. WebAPi添加常用扩展方法及思维发散

    前言 在WebAPi中我们通常需要得到请求信息中的查询字符串或者请求头中数据再或者是Cookie中的数据,如果需要大量获取,此时我们应该想到封装一个扩展类来添加扩展方法,从而实现简便快捷的获取. We ...

  4. 多线程、方便扩展的Windows服务程序

    多线程.方便扩展的Windows服务程序 吴剑 2012-06-02 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 在项目应用中经常会碰到定时调度的 ...

  5. MVC HtmlHelper扩展——实现分页功能

    MVC HtmlHelper扩展类(PagingHelper) using System; using System.Collections.Generic; using System.Collect ...

  6. sitecore_扩展Sitecore批准工作流程

    sitecore 为什么要自定义默认的Sitecore工作流程? (Why customize the default Sitecore workflow?) Sitecore is by defau ...

  7. VS Code 安装 Go 插件、自定义扩展配置、断点调试

    1. 安装插件 使用快捷键 Ctrl+Shift+X 打开插件安装页面,安装 Go 插件. 2. 自定义扩展配置 使用快捷键 Ctrl+, 打开自定义配置页,编辑 settings.json ,定义与 ...

  8. VS Code 安装插件、自定义模板、自定义配置参数、自定义主题、配置参数说明、常用的扩展插件

    1. 下载和官网教程 下载地址:https://code.visualstudio.com/ 官方教程:https://code.visualstudio.com/docs 2. 安装插件 安装扩展插 ...

  9. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

  10. 用动态实现扩展TVM

    用动态实现扩展TVM Extending TVM with Dynamic Execution Outline ● Motivation for Dynamism ● Representing Dyn ...

最新文章

  1. 计算机设计大赛颁奖典礼主持稿的串词,比赛颁奖典礼主持词
  2. Java_JAVA6动态编译的问题
  3. php字符串类型讲解
  4. python少儿编程 在线课程-宁波Python程序开发课程
  5. OpenCV 3.x Lib 源码结构简介
  6. 什么是ie浏览器_?IE 浏览器为什么不招人待见?
  7. 拓展 - WebRTC 多视频网络拓扑之三种架构
  8. 经典商务未来科技海报PSD分层模板,以后绝对用得上
  9. Ubuntu12.04 配置JDK7
  10. SAP License:MR22借贷物料一步设置可以把差异带走
  11. 群同态基本定理证明_群同态基本定理II
  12. 操作系统启动后 计算机处于 模式,电脑开机出现选择操作系统。怎么办?
  13. Java 实现数据库导出Excle
  14. 简单SNIFFER 应用驱动安装及使用
  15. 远程唤醒电脑WOL(Wake On LAN - 局域网唤醒)
  16. 浪潮云服务器安装win7系统,WIN7旗舰版操作系统中浪潮ERP_GS5.2安装说明.doc
  17. INSERT 语句与 FOREIGN KEY 约束FK_comment_news冲突。该冲突发生于数据库newssystem,表dbo.news, column 'id'。 语句已终止。
  18. BZOJ 3426 CodeChef/CHANGE
  19. python做乘法运算定律_四年级乘法运算定律-
  20. 网友感到担忧!iOS 17支持第三方应用商店:这下跟安卓没区别了

热门文章

  1. 图(二):图的邻接矩阵表示
  2. JQMeter进度条动态加载演示
  3. 十九、Oracle学习笔记:行变量
  4. 操作系统——基本概念·
  5. Spring Boot 搭建 Eureka Servrer 单机模式、高可用模式
  6. Linux 查找进程与结束进程
  7. java 开源im_开源IM项目-InChat登录接口设计与实现(基于Netty)
  8. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_01-自定义查询页面-服务端-Dao...
  9. 阶段3 2.Spring_07.银行转账案例_4 编写事务管理工具类并分析连接和线程解绑
  10. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_1_字符输入流_Reader类FileRead...