Example #1
0
        /// <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);
        }