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
}
}