Beispiel #1
0
        public static TModel Get <TModel>(this HttpRequest request, HttpRequestGetMode getMode = HttpRequestGetMode.Default)
        {
            TModel inst = Activator.CreateInstance <TModel>();

            foreach (var prop in typeof(TModel).GetProperties())
            {
                if (prop.SetMethod == null)
                {
                    continue;
                }
                var value = Get(request, prop.Name, getMode);
                if (value == null)
                {
                    continue;
                }
                prop.SetValue(inst, value.To(prop.PropertyType));
            }
            return(inst);
        }
Beispiel #2
0
        public static string Get(this HttpRequest request, string name, HttpRequestGetMode getMode = HttpRequestGetMode.Default)
        {
            switch (getMode)
            {
            case HttpRequestGetMode.Default:
                return(request[name] ?? (string)HttpContext.Current.Items["QueryParams_" + name]);

            case HttpRequestGetMode.GetOnly:
                return(request.QueryString[name]);

            case HttpRequestGetMode.PostOnly:
                return(request.Form[name]);

            default:
            {
                var val = request.QueryString[name];
                if (val != null)
                {
                    return(val);
                }
                return(request.Form[name]);
            }
            }
        }