C# 选中后删除下拉列表中的元素

C# 选中后删除下拉列表中的元素,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我的数据库中有一个存储汽车的表。然后在我的系统中,在下拉列表中的数据库元素中有一个汽车的下拉列表:汽车a、汽车B、汽车C。假设用户A选择了B车,那么当其他用户登录时,B车将不再可供其他用户选择。我的问题是,如何使车辆不再可供选择?有我可以参考的页面吗?选择后如何删除下拉列表中的元素?如果你不明白我的意思,尽管问我。提前感谢。我认为在数据库中,您可以为Isselected维护包含布尔值的字段。如果用户选择值为true的汽车更新数据库。加载下拉菜单时,选择以下车辆: Isselected=false

我的数据库中有一个存储汽车的表。然后在我的系统中,在下拉列表中的数据库元素中有一个汽车的下拉列表:汽车a、汽车B、汽车C。假设用户A选择了B车,那么当其他用户登录时,B车将不再可供其他用户选择。我的问题是,如何使车辆不再可供选择?有我可以参考的页面吗?选择后如何删除下拉列表中的元素?如果你不明白我的意思,尽管问我。提前感谢。

我认为在数据库中,您可以为Isselected维护包含布尔值的字段。如果用户选择值为true的汽车更新数据库。加载下拉菜单时,选择以下车辆:
Isselected=false

我要做的是使用ajax控制可用汽车的列表。当用户选择汽车时,可以推送信息

流程如下所示:

用户A选择日产Altima 通过Ajax将信息发送到服务器 服务器存储用户A和日产Altima之间的关联 服务器将信息推送到用户B 用户B的屏幕更新,列表更新 您可以使用Comet实现从一个用户到另一个用户的ajax推送

您的数据库表应该有一个名为IsReserved或类似的字段,然后您的下拉列表将填充查询:

SELECT * FROM Car Where IsReserved=0

我建议您创建另一个临时表,当用户从下拉列表中选择汽车时,您可以在其中保存CarID或CarCode以及sessionID。您可以在选择项目时触发事件

在此事件中,将carID和SessionID保存在临时表中

表结构

 CarTempTable
    CarID xxx
    SessionID varchar(x)
    Date   datetime
一旦这个表中有了CarID和SessionID,就可以使用如下查询为其他用户查询主表

SELECT CarID, CarName FROM Cars WHERE CarID NOT IN (SELECT CarID FROM CarTempTable WHERE SessionID <> "'+ SessionIDofUSER+'";
在上述方法中,您必须确保在会话结束时清除特定会话的临时表条目

这种方法应该适合你


编辑:如果是租车,那么最好在您的表格中有一个额外的列,根据用户是否预订了汽车来说明汽车是否可用。您可以在上面的临时表中使用此功能,因为我不确定您是通过付款还是其他方式预订的

,但该车不会从数据库中删除,对吗?这个选择的意义是什么?这是我的车还是我租的车?您可能希望将应用程序状态用作option@CloneClose所以你可能会有一张出租汽车的桌子。检索此下拉列表的车辆列表时,请与此表关联以仅检索可用的车辆=