0

我有 A 公司。我需要能够将该公司链接到多个州,而每个州又可以链接到多个城市。例如:

Company A
         \
          - State A
                  |-City A
                  |-City B
         \        |-City C
          - State B
                  |-City A
                  |-City B
         \        |-City C
          - State C
                  |-City A
                  |-City B
                  |-City C

我的问题是:

  1. 将其存储在表格中的最佳方法是什么?
  2. 允许用户在不刷新多个页面的情况下选择它的最简单方法是什么?

我将 ASP.NET (Framework 3.5) 与 C# 一起使用。如果周围有任何控件可以做到这一点,那么指向它们的指针也将不胜感激。

谢谢,

吉姆

编辑:例如,我需要选择“公司 A”。然后选择“状态A”。在“State A”下,我选择“City A, B & C”。然后选择“State B”,然后选择“City A & B”。

4

2 回答 2

2

您可能希望将其存储在四个表中

**公司**
姓名 OtherInfo CompanyID

**状态**
名称 OtherInfo StateID

**城市**
名称 StateID CityID OtherInfo

**CompaniesInCities**
公司 ID 城市 ID

这样,州和城市就可以在没有公司的情况下存在。

至于选择它们的控件,如果要选择单个城市,AJAX CascadingDropDownList可能是最佳选择。

至少在我理解正确的情况下,在没有多次页面刷新的情况下执行此操作将非常困难,并且可能会让用户感到困惑。最好的办法是让它们尽可能轻松,这可能涉及也可能不涉及使用 AJAX。

于 2009-08-06T14:15:55.183 回答
0

要回答您的第一个问题,我会将其存储为:

状态
----------------------------
STATE_KEY NOT NULL NUMBER                                                                                                                                                                                        
COUNTRY NOT NULL VARCHAR2(3)(ISO 3 字母代码)                                                                                                                                                                               
STATE_SHORT NOT NULL VARCHAR2(30)                                                                                                                                                                                  
STATE_NAME NOT NULL VARCHAR2(30)  


城市
----------------------------
CITY_KEY NOT NULL NUMBER                                                                                                                                                                                        
STATE NOT NULL NUMBER(FK 到 STATE)                                                                                                                                                         
CITY_NAME NOT NULL VARCHAR2(30)                                                                                                                                                                                  
后数                                                                                                                                                                                        
日志编号  

公司
----------------------------
STATE_ID NUMBER NOT NULL(FK 进入状态)
.... 其他数据列......


您可能会考虑做的一件事是将公司链接到城市密钥并将 FK 链接到城市,并拥有像 usa;fl;null 和 usa;ca;null 这样的城市来代表该州内的所有城市。这种方式转换为基于特定城市的公司并不会真正改变您的整体方案。如果您知道您将始终与与州相关的公司打交道,那么最好在公司中执行 state_id(如上所示)。

祝你的项目好运。

于 2009-08-06T14:21:49.077 回答