Request和Request.Params区别

1、index页面

<h1>Request.Params["name"]:@ViewBag.returnParams</h1>
<h2>Request["name"]:@ViewBag.request</h2>

2、

public ActionResult Index()
        {
            ViewBag.returnParams=Request.Params["name"];
            ViewBag.request=Request["name"];
            
            return View();
        }

3、效果

 

4、addCookie添加cookie,持续一分钟

public ActionResult addCookie()
        {
            Response.Cookies.Add(new HttpCookie("name", "gooney") { Expires=DateTime.Now.AddMinutes(1)});
            return View();
        }

5、效果

Requset只能说起url参数,Request.Params不仅可以获取url参数,还可以获取cookie

 //
        // 摘要: 
        //     在派生类中重写时,获取 System.Web.HttpRequest.QueryString、System.Web.HttpRequest.Form、System.Web.HttpRequest.ServerVariables
        //     和 System.Web.HttpRequest.Cookies 项的组合集合。
        //
        // 返回结果: 
        //     合并值的集合。
        //
        // 异常: 
        //   System.NotImplementedException:
        //     总是。
        public virtual NameValueCollection Params { get; }

 

// Default property that goes through the collections
        //      QueryString, Form, Cookies, ClientCertificate and ServerVariables
        public String this[String key] {
            get {
                String s;

                s = QueryString[key];
                if (s != null)
                    return s;

                s = Form[key];
                if (s != null)
                    return s;

                HttpCookie c = Cookies[key];
                if (c != null)
                    return c.Value;

                s = ServerVariables[key];
                if (s != null)
                    return s;

                return null;
            }
        }

 

posted @ 2017-01-17 10:43  wjl910  阅读(192)  评论(0)    收藏  举报