【分页2】

  	public dynamic PageQuery()        {
            int pageIndex = Request.Params["page"] == null ?  : int.Parse(Request.Params["page"]);//Request["page"] 需要显示第几页 EasyUI datagrid自传
            int pageSize = Request.Params["rows"] == null ?  : int.Parse(Request.Params["rows"]);//每页大小 EasyUI datagrid自传
            try {
                BackUserInfoPageCondition condition = new BackUserInfoPageCondition
                {
                    pageIndex=pageIndex,
                    pageSize=pageSize,
                    UserCode = Request.Params["search_UserCode"],
                    UserName = Request.Params["search_UserName"],
                    IDNO = Request.Params["search_IDNO"],
                    Phone = Request.Params["search_Phone"],
                    DepartId = Request.Params["search_Depart"].Trim().ConvertTo<int>(),//默认-1请选择
                    DutyId = Request.Params["search_Duty"].Trim().ConvertTo<int>() ,
                    StatusFlag = Request.Params["search_StatusFlag"].Trim().ConvertTo<short?>(),
                    DimissionFlag = Request.Params["search_DimissionFlag"].Trim().ConvertTo<short?>(),
                    DisableFlag = Request.Params["search_DisableFlag"].Trim().ConvertTo<short?>(),
                    LockFlag = Request.Params["search_LockFlag"].Trim().ConvertTo<short?>()
                };
                var data = _IBackUserInfoService.PageQuery(condition);//根据条件query查询
                var o = new { total = condition.total, rows = data };//EasyUI datagrid需要
                return Json(o);
            }
            catch (Exception e)
            {
                //写日志
                return Content("ERROR");
            }
        }  
using System;using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Web; namespace Common
{
    public static class Utils
    {
        
        /// <summary>
        /// MD5加密
        /// https://social.msdn.microsoft.com/Forums/zh-CN/590bd6a8-57d7-4041-81da-80fe8b832b77/md5
        /// http://blog.163.com/m13864039250_1/blog/static/21386524820150231533602/
        /// </summary>
        public static string GetMD5Hash(string input){
            //MD5 md5Hash = MD5.Create();
            MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();
            byte[] data=md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));
            StringBuilder sBuilder = new StringBuilder();
            for (int i = ; i < data.Length; i++)
            {
                sBuilder.Append(data[i].ToString("x2"));//字符串格式控制符 x 为十六进制 2每次两位数
            }//0xA、0x1A,这样看起来不整齐,为了好看,可以指定"X2",这样显示出来就是:0x0A、0x1A。 
            return sBuilder.ToString();
        }         /// <summary>
        /// 任意类型之间的转换
        /// 来源:http://www.cnblogs.com/artech/archive/2011/03/17/NullableType.html
        /// 用法:
        /// Utils.ConvertTo<short?>(Request.Params["LockFlag"])
        /// Request.Params["LockFlag"].ConvertTo<short?>()
        /// int intValue1               = "123".ConvertTo<int>();
        /// int? intValue2              = "123".ConvertTo<int?>();           
        /// DateTime dateTimeValue1     = "1981-08-24".ConvertTo<DateTime>();
        /// DateTime? dateTimeValue2    = "1981-08-24".ConvertTo<DateTime?>();
        /// </summary>
        public static T ConvertTo<T>(this IConvertible convertibleValue)
        {
            if (null == convertibleValue)
            {
                return default(T);
            }
            if (!typeof(T).IsGenericType)
            {
                return (T)Convert.ChangeType(convertibleValue, typeof(T));
            }
            else
            {
                Type genericTypeDefinition = typeof(T).GetGenericTypeDefinition();
                if (genericTypeDefinition == typeof(Nullable<>))
                {
                    return (T)Convert.ChangeType(convertibleValue, Nullable.GetUnderlyingType(typeof(T)));
                }
            }
            throw new InvalidCastException(string.Format("Invalid cast from type \"{0}\" to type \"{1}\".", convertibleValue.GetType().FullName, typeof(T).FullName));
        }
    }
}  

ASP.NET MVC 增强Convert用法+【分页2】的更多相关文章

  1. asp.net MVC过滤器的用法(转)

    转自:http://www.studyofnet.com/news/257.html APS.NET MVC中的每一个请求,都会分配给相应的控制器和对应的行为方法去处理,而在这些处理的前前后后如果想再 ...

  2. asp.net mvc 的几种分页Pager

    第一种 /// <summary> /// 分页Pager显示 /// </summary> /// <param name="html">&l ...

  3. Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应

    Ext.onReady(function () { gridPanel(); var panel = Ext.getCmp('gridPanel'); window.onresize = functi ...

  4. Asp.Net MVC EasyUI DataGrid查询分页

    function doSearch() { //查询方法 var searchValue = $('#txtQueryTC001').textbox('getText'); $('#dgCMSTC') ...

  5. Asp.Net Mvc Areas 的用法与好处

    前言 在项目中为什么要使用Areas 进行分离 大家都知道,一般的Web应用都有前台(面向用户)和后台(面向管理员)两部分,我们希望以/localhost/Admin 开始的Url 是用户的后台管理地 ...

  6. ASP.NET MVC Html.BeginForm用法1

    Html.BeginForm():该方法用于构建一个From表单的开始, 他的构造方法为:Html.BeginForm("ActionName","ControllerN ...

  7. asp.net mvc 简易通用自定义Pager实现分页

    asp.net mvc 自定义Pager实现分页 Intro 一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 Ht ...

  8. ASP.NET MVC分页实现

    ASP.NET MVC中不能使用分页控件,所以我就自己写了一个分页局部视图,配合PageInfo类,即可实现在任何页面任意位置呈现分页,由于采用的是基于POST分页方式,所以唯一的限制就是必须放在FO ...

  9. 在 ASP.NET MVC 中充分利用 WebGrid (microsoft 官方示例)

    在 ASP.NET MVC 中充分利用 WebGrid https://msdn.microsoft.com/zh-cn/magazine/hh288075.aspx Stuart Leeks 下载代 ...

随机推荐

  1. 使用普通Windows服务创建Quartz.Net服务项目

    Quartz.NET 项目地址 http://quartznet.sourceforge.net/ 源码下载地址:Quartz.Net.2.0 首先创建Quartz.Net.2.0解决方案,添加 Wi ...

  2. ios PromiseKit

    简介: 高级开发是高度异步的,PromiseKit收集了一些帮助函数,让我们开发过程中使用的典型异步模式更加令人愉悦. 1.通过pod安装promisekit: 2. promise.h介绍 @imp ...

  3. 利用ORACLE ADV 功能完成SQL TUNING 调优(顾问培训) “让DBA失业还是解脱?”

    oracle自动判断SQL性能功能. 11G的ADV,建议.SNAPSHOT,数据集合, 存储在oracle sys $_开头的表(10几条).  创建SNAPSHOT时选择天数, 默认14天. sq ...

  4. sublime_2014-11-19

    http://xionggang163.blog.163.com/blog/static/376538322013930104310297/ 直接输入注册码就可以了 ----- BEGIN LICEN ...

  5. caffe源码阅读(3)-Datalayer

    DataLayer是把数据从文件导入到网络的层,从网络定义prototxt文件可以看一下数据层定义 layer { name: "data" type: "Data&qu ...

  6. layerX && layerY

    转载:https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/layerX UIEvent.layerX 非标准 这个属性是非标准的属性,并且 ...

  7. js点击 密码输入框密码显示隐藏

    很多密码框都有个眼睛标记,点击能显示密码.原理就是点击切换password为text等显示 下面上代码 <!DOCTYPE html> <html> <head> ...

  8. 『奇葩问题集锦』function * (next){ 执行报错 SyntaxError: Unexpected token *

    这是因为  app.use(function * (){ 语句中有一个 * ,这种方式被称为generator functions ,一般写作function *(){...} 的形式,在此类func ...

  9. php练习7——类的运用(四则运算or面积计算[javascript小技巧——根据需求显示不同界面])

    要求:请编写一个类,该类可以进行四则运算,也可以进行矩形面积计算 1.程序 viewCount.html  Count.class.php      printCount.php 2.结果      ...

  10. 分享自己动手弄的基于Rime的新世纪五笔输入法码表

    实验室新搞了一台iMac,没有支持新世纪的码表的中文输入法啊.搜索半天大家推荐用Rime(鼠须管)来挂接新世纪码表.不知道还有没有其它支持外挂码表的Mac版输入法,暂时只有搞这个了.看了一下别人已经做 ...