ASP.NET MVC按国家/地区获取没有数据库的城市列表。

时间:2016-03-15 08:13:15

标签: asp.net-mvc country city

我需要做类似的事情: 显示国家/地区列表>>选择国家/地区 - >显示城市列表。

所以我必须按国家/地区获取城市列表,但不使用数据库中的数据。

有人可以建议我一个解决方案吗?我非常感谢你的帮助。

3 个答案:

答案 0 :(得分:2)

您可以使用API​​,但问题是每次页面加载时都会收到请求。并非每个API提供商都允许这样做。例如,Here is an API that gets Country / Cities

使用.NET技术时的另一个解决方案是使用 localDB 。 localDB实际上是一个数据库,但在你的应用程序中。看一下MSDN上的定义:

  

它非常易于安装且无需管理,但它提供与常规SQL Server Express相同的T-SQL语言,编程表面和客户端提供程序。如果LocalDB的简单性(和限制)符合目标应用程序环境的需要,开发人员可以继续在生产中使用它,因为LocalDB也是一个非常好的嵌入式数据库。

很明显,如果您不能使用XML或JSON文件或LocalDB,请记住的最后一个解决方案是将您的列表放在类中但我认为您应该避免使用此解决方案,它只会将所有内容加载到RAM直到你的应用程序停止,因为硬盘成本低于RAM我真的认为更好的选择是在你的应用程序中使用XML或JSON文件。

答案 1 :(得分:1)

您可以将信息存储到文本文件中,甚至存储在代码中的静态类中(不是一个好主意,但可行)。

然后你只需要从容器中获取信息并构建两个SelectList项目,一个用于国家,一个用于城市。

使用javascript将国家/地区SelectList的更改事件链接到已过滤的城市重新加载列表

答案 2 :(得分:0)

假设您有按国家/地区预设的城市列表,并且您实际上无法使用任何类型的数据库,那么可能只是使用文本文件?国家列表的一个文本文件,然后是每个国家/地区的一个文件,其中包含城市列表。读入文本文件并根据需要显示。