使用多个枚举列表根据第一个下拉列表的值填充第二个下拉列表

时间:2017-10-02 15:39:45

标签: c# razor model-view-controller

我正在努力寻找应该是非常容易的事情。

假设我有两个下拉国家和城市。

对于系统用户,我希望他们使用这些下拉菜单选择他们的地址。

我在想为所有国家创建一个枚举,然后是所有国家的枚举列表。然后使用javascript OnChange进行第一次下拉切换第二次下拉菜单,以便为每个国家/地区提供正确的城市列表。 (UKCities,IndiaCities,USCities等...)

但是当我考虑用户视图模型时,这开始感觉不是一个坏主意,我会为用户使用哪种类型的城市?在做了一些谷歌搜索之后我发现了这篇文章:Using Drop Down Lists with enums我认为我可以使用其中的泛型部分来做我想要的。但是,我无法帮助我解决问题的复杂性。

有关如何以更直接的方式执行此操作的任何想法/示例。

1 个答案:

答案 0 :(得分:0)

您对使用枚举有严格的要求吗?

在不了解您的代码,建筑或您正在使用的技术的情况下,我只能给您一个通用的建议:

这似乎应该从数据库中获取,而不是在枚举中硬编码。

这有很多优点,因为它更动态,更易于维护(您无需重新编译应用程序以添加或删除国家/城市),并且您可以使用关系强制执行数据完整性在用户和国家/城市表之间保持不变。

您可以在其他Software EngineeringStack Overflow问题中进一步了解此讨论(尽管有些观点不同,因此您应该对此主题做出自己的判断)。