Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 会话状态未被保留的问题_C#_Asp.net_Session_Checkbox - Fatal编程技术网

C# 会话状态未被保留的问题

C# 会话状态未被保留的问题,c#,asp.net,session,checkbox,C#,Asp.net,Session,Checkbox,我正在用ASP.NETC开发一个项目。我的项目定义是在线旅游预订系统 在我的项目中有一个座位选择模块。当我使用复选框为特定路线选择特定座位时,我会为所选座位创建一个会话,这样,如果我选择了相同的路线,则不应显示所选座位 我面临的问题是,当我选择一条不同的路线时,我会得到一个以前没有选择过的座位。您需要将座位占用率绑定到每条路线-您可以使用或定义一个特殊的数据类型结构来保存此信息。您可以创建自己的结构或数组,其中保存每条路线占用的每个座位的信息。您可以将此数据结构存储到会话中,并在需要时使用它。每

我正在用ASP.NETC开发一个项目。我的项目定义是在线旅游预订系统

在我的项目中有一个座位选择模块。当我使用复选框为特定路线选择特定座位时,我会为所选座位创建一个会话,这样,如果我选择了相同的路线,则不应显示所选座位


我面临的问题是,当我选择一条不同的路线时,我会得到一个以前没有选择过的座位。

您需要将座位占用率绑定到每条路线-您可以使用或定义一个特殊的数据类型结构来保存此信息。您可以创建自己的结构或数组,其中保存每条路线占用的每个座位的信息。您可以将此数据结构存储到会话中,并在需要时使用它。每当新座位被占用或预占用的座位被释放时,您都需要在会话中更新数据结构


您还可以使用数据库存储信息,我想这是一个更好的选择。

字典可能适合您的应用程序

在psuedocode中:

//  Read the selected seats and store them
OnCheckChanged( ... )
{
   Dictionary<Route,Seat> reservedSeats = Session["reservedSeats"] as Dictionary<Route,Seat>;
   reservedSeats[Current Route] = Selected Seat;
   Session["reservedSeats"] = reservedSeats;
}

//  Show the selected seats when they come to a specific route
OnLoad(...)
{
   Dictionary<Route,Seat> reservedSeats = Session["reservedSeats"] as Dictionary<Route,Seat>;
   SetSeatSelection( reservedSeats[Current Route] );
}
基本上,您可以在会话中存储dictionary对象,每个路由有一个条目。每个会话都是特定于特定用户的,因此这就足够了

尽管如此,如果希望在访问之间记住所选内容,您可能只想将其存储在数据库中。

这需要一个。从官方关闭原因:问题寻求调试帮助为什么这段代码不工作?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。