首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Asp.net Webapi中使用Session ['']类与泛型列表?

如何在Asp.net Webapi中使用Session ['']类与泛型列表?
EN

Stack Overflow用户
提问于 2018-06-28 01:03:57
回答 1查看 0关注 0票数 0

购物网站上的每个用户都有不同的购物车

在这里输入图像描述
在这里输入图像描述

我想使用会话类如何使用会话类。

代码语言:javascript
复制
public static List<Product> gridlist = new List<Product>();

[System.Web.Http.Route("api/Products/gridpro/{id}")]
public IHttpActionResult GetGrid(int id)
{
    double bill = 0;

    var q = db.products.Find(id);
    if (q != null)
    {

        var check = gridlist.Where(x => x.Id == id).FirstOrDefault();
        if (check != null)
        {
            check.ProductQty += 1;
            check.TotalAmount = check.ProductQty * check.ProductRate;
        }
        else
        {
            q.ProductQty = 1;
            q.TotalAmount = q.ProductQty * q.ProductRate;

            gridlist.Add(q);
        }
        q.TotalBill = gridlist.Sum(x => x.TotalAmount);
        q.TotalItem = gridlist.Count();

        foreach (var item in gridlist)
        {
            item.TotalBill = q.TotalBill;
            item.TotalItem = q.TotalItem;
        }
        bill = q.TotalBill;

        return Ok(gridlist);
    }
    else
    {
        return NotFound();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-28 10:09:21

你有这样的代码:

代码语言:javascript
复制
static List<Product> gridlist

因为它是static,每个应用程序只有一个列表。因此,所有用户都将看到相同的列表。

删除static关键字,你可以使用会话来存储数据:

代码语言:javascript
复制
// To store something in session
Session["gridList"]= gridList;

// To get what you have stored to a session, use
var products = Session["gridList"] as List<Product>;

// To clear the list from session, use
Session["gridList"] = null;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档