多用户访问时如何使用可变静态列表
How to use variable static list when multi user access
这个变量在一个用户使用时工作正常,但是当被两个或更多用户使用时,"static"变量将被下一个用户读取,第一个用户实例在填充 gridview 时有 5 个行数据,我尝试在进入页面时通过其他浏览器访问,第二个用户的 gridview 已经填充了第一个用户输入的 5 行数据。那么如何解决这个问题呢?请查看我的代码并给我一个解决方案。谢谢。
static List<ServicesModels> _gridPackageDetail = new List<ServicesModels>();
private void AddListAction(string alfa, string beta)
{
ServicesModels data = new ServicesModels()
{
id_service_detail = Guid.NewGuid(),
scope_name = alfa,
detail_name= beta
};
_gridPackageDetail.Add(data);
}
public ActionResult GridPackageDetail()
{
ViewBag.DataListPackage = _gridPackageDetail.OrderBy(a => a.scope_name).ToList();
return PartialView();
}
我在 mvc3 控制器中的代码。
代码运行良好,因为这是 "static" 的意图,为多用户提供相同的数据。在您的情况下,您需要创建一个列表或字典或多维数组(您熟悉的任何数据结构)并在其中保存每次使用的数据,然后在需要时根据用户 ID 检索数据。
static List<ServicesModels> _gridPackageDetail = new List<ServicesModels>();
private void AddListAction(string alfa, string beta)
{
ServicesModels data = new ServicesModels()
{
id_service_detail = Guid.NewGuid(),
scope_name = alfa,
detail_name= beta,
user_id = getTheID()// Get the id of the user
};
_gridPackageDetail.Add(data);
}
public ActionResult GridPackageDetail()
{
ViewBag.DataListPackage = _gridPackageDetail.OrderBy(a => a.scope_name && user_id ==getTheID()).ToList();
return PartialView();
}
用您获取用户 ID 的方式替换 getTheID()。
如果您想保留所有用户的数据,则使用此选项。否则你应该删除静态关键字。
这个变量在一个用户使用时工作正常,但是当被两个或更多用户使用时,"static"变量将被下一个用户读取,第一个用户实例在填充 gridview 时有 5 个行数据,我尝试在进入页面时通过其他浏览器访问,第二个用户的 gridview 已经填充了第一个用户输入的 5 行数据。那么如何解决这个问题呢?请查看我的代码并给我一个解决方案。谢谢。
static List<ServicesModels> _gridPackageDetail = new List<ServicesModels>();
private void AddListAction(string alfa, string beta)
{
ServicesModels data = new ServicesModels()
{
id_service_detail = Guid.NewGuid(),
scope_name = alfa,
detail_name= beta
};
_gridPackageDetail.Add(data);
}
public ActionResult GridPackageDetail()
{
ViewBag.DataListPackage = _gridPackageDetail.OrderBy(a => a.scope_name).ToList();
return PartialView();
}
我在 mvc3 控制器中的代码。
代码运行良好,因为这是 "static" 的意图,为多用户提供相同的数据。在您的情况下,您需要创建一个列表或字典或多维数组(您熟悉的任何数据结构)并在其中保存每次使用的数据,然后在需要时根据用户 ID 检索数据。
static List<ServicesModels> _gridPackageDetail = new List<ServicesModels>();
private void AddListAction(string alfa, string beta)
{
ServicesModels data = new ServicesModels()
{
id_service_detail = Guid.NewGuid(),
scope_name = alfa,
detail_name= beta,
user_id = getTheID()// Get the id of the user
};
_gridPackageDetail.Add(data);
}
public ActionResult GridPackageDetail()
{
ViewBag.DataListPackage = _gridPackageDetail.OrderBy(a => a.scope_name && user_id ==getTheID()).ToList();
return PartialView();
}
用您获取用户 ID 的方式替换 getTheID()。
如果您想保留所有用户的数据,则使用此选项。否则你应该删除静态关键字。