2016-03-15 28 views
-1

我需要做的事情如下: 顯示國家列表>>選擇國家 - >顯示城市列表。ASP.NET MVC按國家/地區列表獲取沒有數據庫的城市列表。

所以我必須得到一個國家的城市列表,但不使用數據庫中的數據。

任何人都可以請建議我一個解決方案?我非常感謝你的幫助。

+0

即使是CSV文件,您也需要某種「數據庫」來存儲國家和城市。 –

+0

或者您可以使用遠程API(例如Xml或Json Web服務)。硬編碼一切在你的controlelr,甚至在你的cshtml也可以,但你不想那麼做?! – kall2sollies

+0

是的,我的老闆要求我通過Culture Info(我得到國家名單的方式)這樣做。 – HungDQ

回答

1

您可以將信息存儲到文本文件中,甚至存儲在代碼中的靜態類中(不是一個好主意,但可行)。

然後,您只需從容器中獲取信息並構建兩個SelectList項目,一個用於國家,一個用於城市。

使用JavaScript鏈接國家改變事件的SelectList到城市的SelectList

+0

我明白,解決方案,但我的老闆迫使我沒有使用數據庫或文本文件。 – HungDQ

+0

如果你不能使用文本文件既不去硬編碼選項,創建兩個鏈接的數據結構到您的代碼並手動將數據加載到它們,然後使用它們來填充SelectList。這是非常錯誤的,但如果你不能使用數據庫既不是一個文本文件... – Bardo

+0

有沒有任何Web服務/ API可以幫助我做到這一點? – HungDQ

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文件。

相關問題