您好我想将我上次访问过的产品详细信息页面ID保存在一个Cookie中。对于ex.first,我是随机轮胎页面和第一个cookie值44然后一个接一个地访问其他页面url id 65。我该怎么办?可以将它们保存在List中以获取cookie值,因为它需要什么?谢谢你的帮助。
public ActionResult DetailShow(int id)
{
string cokvalue = ControllerContext.RouteData.Values["id"].ToString();
List<string> view = new List<string>();
foreach (var item in cokvalue)
{
view.Add(cokvalue);
}
**This one for What ı want to add last visited pages
HttpCookie cok = new HttpCookie("last viewed");
cok.Values["last visited"] = string.Join(",", view.ToArray());
cok.Expires = DateTime.Now.AddMonths(1);
Response.Cookies.Add(cok);
HttpCookie mycookie = new HttpCookie("Product");
mycookie.Values["asd"] = cokvalue;
mycookie.Expires = DateTime.Now.AddMonths(1);
Response.Cookies.Add(mycookie);
var product = gelistirmeEntities.Product.Where(p => p.Product_ID == id).FirstOrDefault();
return View(product);
}
答案 0 :(得分:0)
答案
public ActionResult DetailShow(int id)
{
string cokvalue = ControllerContext.RouteData.Values["id"].ToString();
HttpCookie cok = Request.Cookies["last viewed"];
List<string> cookielist = new List<string>();
cookielist.Add(cokvalue);
if (cok == null)
{
var serialize = JsonConvert.SerializeObject(cookielist);
cok = new HttpCookie("last viewed");
cok.Values["last visited"] = serialize;
}
else
{
cookielist.InsertRange(0,JsonConvert.DeserializeObject<List<string>>(cok.Values["last visited"]));
var serialize = JsonConvert.SerializeObject(cookielist);
cok.Values["last visited"] = serialize;
}
cok.Expires = DateTime.Now.AddMonths(1);
Response.Cookies.Add(cok);
HttpCookie mycookie = new HttpCookie("Product");
mycookie.Values["asd"] = cokvalue;
mycookie.Expires = DateTime.Now.AddMonths(1);
Response.Cookies.Add(mycookie);
var product = gelistirmeEntities.Product.Where(p => p.Product_ID == id).FirstOrDefault();
return View(product);
}