Asp.net
在asp.net mvc c#中使用cookie
我想使用cookie在我的網站中註冊幾個頁面的參數。我嘗試了下面的程式碼,但不喜歡我想要的:
public ActionResult Index(int? dep, int? cat) { ...... string theDept = Request.QueryString["dep"]; HttpCookie cookie = new HttpCookie("search"); cookie.Values["dep_name"] = theDept; cookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(cookie); return View(); }我在 site.master 中閱讀了它:
<% HttpCookie cookie = Request.Cookies["search"] ; if ((cookie != null) && (cookie.Value != "")) { Response.Write(cookie.Values["dep_name"].ToString() + "---" + cookie.Values["cat_name"].ToString() + "---" + cookie.Values["brand"].ToString()); } %>問題:當我點擊另一個為空的頁面時
Request.QueryString["dep"],我顯示的 cookie 是空的。在我們尚未清除 cookie 的情況下,如何將其儲存在 cookie 中而不會失去?
我不確定我是否理解這是關於如何正確地將 cookie 發送到客戶端的問題,還是您的查詢字元串參數存在一些錯誤。因此,我將發布發送 cookie 的正確方法,如果我誤解了,請隨時糾正我。
無論如何,我相信這一點:
HttpCookie cookie = new HttpCookie("search");將重置搜尋 cookie
要獲取 cookie:
HttpCookie cookie = HttpContext.Request.Cookies.Get("some_cookie_name");要檢查 cookie 的存在:
HttpContext.Request.Cookies["some_cookie_name"] != null要保存 cookie:
HttpCookie cookie = new HttpCookie("some_cookie_name"); HttpContext.Response.Cookies.Remove("some_cookie_name"); HttpContext.Response.SetCookie(cookie );