BaseController

using System;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace WebApp.Controllers
{
    /// <summary>
    /// 基类控制器
    /// </summary>
    public partial class BaseController
    {
        /// <summary>
        /// 内容类型(Json)
        /// </summary>
        public static String ContentType = "application/json; charset=utf-8";

        /// <summary>
        /// 返回 JsonResult
        /// </summary>
        /// <param name="data">要序列化的对象数据</param>
        public JsonResult ReturnJsonResult(object data)
        {
            return Json(data, ContentType, JsonRequestBehavior.AllowGet);
        }

        /// <summary>
        /// 返回 JsonResult
        /// </summary>
        /// <param name="data">要序列化的对象数据</param>
        /// <param name="behavior">指定是否允许来自客户端的 HTTP GET 请求</param>
        public JsonResult ReturnJsonResult(object data, JsonRequestBehavior behavior)
        {
            return Json(data, ContentType, behavior);
        }

        /// <summary>
        /// GET
        /// 获取 HTTP 查询字符串变量的集合
        /// </summary>
        public NameValueCollection GetQueryStringParams()
        {
            return HttpContext.Request.QueryString;
        }

        /// <summary>
        /// POST
        /// 获取客户端发送的窗体变量的集合
        /// </summary>
        public NameValueCollection GetFormParams()
        {
            return HttpContext.Request.Form;
        }

        /// <summary>
        /// 获取客户端组合集合
        /// </summary>
        public NameValueCollection GetParams()
        {
            return HttpContext.Request.Params;
        }

        /// <summary>
        /// 获取客户端拼接参数的集合
        /// </summary>
        /// <param name="query">拼接参数的字符串</param>
        public NameValueCollection GetParseQueryString(string query)
        {
            return GetParseQueryString(query, Encoding.UTF8);
        }
        /// <summary>
        /// 获取客户端拼接参数的集合
        /// </summary>
        /// <param name="query">拼接参数的字符串</param>
        /// <param name="encode">编码</param>
        public NameValueCollection GetParseQueryString(string query, Encoding encode)
        {
            if (String.IsNullOrWhiteSpace(query))
            {
                return new NameValueCollection(0);
            }
            return HttpUtility.ParseQueryString(query, encode);
        }


        /// <summary>
        /// 获取客户端变量参数集合
        /// </summary>
        public NameValueCollection GetHttpParams()
        {
            string httpMethod = HttpContext.Request.HttpMethod;
            if (httpMethod.Equals("GET", StringComparison.CurrentCultureIgnoreCase))
            {
                return GetQueryStringParams();
            }
            else if (httpMethod.Equals("POST", StringComparison.CurrentCultureIgnoreCase))
            {
                return GetFormParams();
            }
            else
            {
                return GetParams();
            }
        }


        #region UrlEncode,UrlDecode  

        /// <summary>
        /// 对 URL 字符串进行编码
        /// </summary>
        /// <param name="str">字符串</param>
        public string GetUrlEncode(string str)
        {
            return GetUrlEncode(str, Encoding.UTF8);
        }
        /// <summary>
        /// 对 URL 字符串进行编码
        /// </summary>
        /// <param name="str">字符串</param>
        /// <param name="encode">字符编码</param>
        public string GetUrlEncode(string str, Encoding encode)
        {
            if (String.IsNullOrWhiteSpace(str)) { return String.Empty; }

            return HttpUtility.UrlEncode(str, encode);
        }

        /// <summary>
        /// 将已编码用于 URL 传输的字符串转换为解码的字符串
        /// </summary>
        /// <param name="enString">已编码字符串</param>
        public string GetUrlDecode(string enString)
        {
            return GetUrlDecode(enString, Encoding.UTF8);
        }
        /// <summary>
        /// 将已编码用于 URL 传输的字符串转换为解码的字符串
        /// </summary>
        /// <param name="enString">已编码字符串</param>
        /// <param name="encode">字符编码</param>
        public string GetUrlDecode(string enString, Encoding encode)
        {
            if (String.IsNullOrWhiteSpace(enString)) { return String.Empty; }

            return HttpUtility.UrlDecode(enString, encode);
        }

        #endregion

    }
}

 

posted @ 2017-12-13 01:45  茗::流  阅读(127)  评论(0)    收藏  举报
如有雷同,纯属参考。如有侵犯你的版权,请联系我。