/// <summary> /// Get all arguments from http request in dictionary<br/> /// Posted files are not included<br/> /// Priority: CustomParameters > Form > QueryString > Json<br/> /// 获取Http请求中的所有参数, 形式是词典<br/> /// 不包含提交文件<br/> /// 优先度: 自定义参数 > 表单内容 > Url参数 > Json<br/> /// </summary> /// <param name="request">Http request</param> /// <returns></returns> /// <example> /// <code language="cs"> /// var request = HttpManager.CurrentContext.Request; /// var allParams = request.GetAllDictionary(); /// </code> /// </example> public static IDictionary <string, IList <string> > GetAllDictionary(this IHttpRequest request) { var result = new Dictionary <string, IList <string> >(); foreach (var pair in request.GetAll()) { if (!result.ContainsKey(pair.First)) { result[pair.First] = pair.Second; } } return(result); }
/// <summary> /// 把http请求转换到搜索请求 /// </summary> /// <param name="request">http请求</param> /// <param name="defaultPageSize">默认的每页数量,默认是50</param> /// <returns></returns> public static StaticTableSearchRequest FromHttpRequest( IHttpRequest request, int?defaultPageSize = null) { var searchRequest = new StaticTableSearchRequest(); var pageNo = request.Get <string>(UrlPagination.UrlParam, null); searchRequest.PageNo = ((pageNo == UrlPagination.LastPageAlias) ? UrlPagination.LastPageNo : pageNo.ConvertOrDefault <int>(1)); searchRequest.PageSize = request.Get(PageSizeKey, defaultPageSize ?? 50); searchRequest.Keyword = request.Get <string>(KeywordKey); foreach (var pair in request.GetAll()) { searchRequest.Conditions[pair.First] = pair.Second[0]; } return(searchRequest); }