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

时间:2012-09-11 03:39:25

标签: c# asp.net drop-down-menu

我的数据库中有一张存放汽车的表格。然后在我的系统中,有一个数据库中汽车的下拉列表(下拉元素:Car A,Car B,Car C)。假设如果用户A选择了车B,则其他用户在登录时将无法再选择车B.我的问题是,如何让汽车不再被选中?有没有我可以参考的页面?如何在选择后删除下拉列表中的元素?如果你不明白我的意思,请随意问我。提前谢谢。

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

流程将是这样的:

  1. 用户A选择“Nissan Altima”
  2. 通过Ajax将信息发送到服务器
  3. 服务器存储用户A和“Nissan Altima”之间的关联
  4. 服务器将信息“推送”给用户B
  5. 用户B的屏幕更新和列表更新
  6. 您可以使用Comet从一个用户到另一个用户完成ajax“推送”。

答案 2 :(得分:0)

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

SELECT * FROM Car Where IsReserved=0

答案 3 :(得分:0)

我建议您创建另一个临时表,您可以在其中保存CarIDCarCode以及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+'";

在上述方法中,您必须确保清除会话结束时特定会话的临时表条目。

这种方法应该适合你

编辑:如果是租车,那么在你的桌子上有一个额外的列是好的,根据用户是否预订汽车,该列表示是否有车。你可以使用上面的临时表,因为我不知道你是如何通过付款或其他方式预订