2016-03-15 15 views
-1

Мне нужно сделать что-то вроде: Показать список стран >> Выберите страну -> показать список городов.ASP.NET MVC получает список городов по странам без базы данных.

Поэтому я должен получить список городов по странам, но без использования данных в базе данных.

Может кто-нибудь предложить мне решение?. Я действительно ценю твою помощь.

+0

Вам понадобится какая-то «база данных» для хранения стран и городов, даже если это файл CSV. –

+0

Или вы можете использовать удаленный API (например, веб-службу Xml или Json). Жесткое кодирование всего в вашем controlelr, или даже в вашем cshtml также будет работать, но вы не хотите этого права?! – kall2sollies

+0

Да, мой босс попросил меня сделать что-то вроде «Культурной информации» («Как я получаю список стран»). – HungDQ

ответ

1

Вы можете сохранить информацию в текстовом файле или даже в статическом классе в своем коде (не совсем хорошая идея, но выполнимая).

Тогда вам просто нужно получить информацию из контейнера и построить два элемента SelectList, один для стран и один для городов.

Использования Javascript, чтобы связать событие изменения стран SelectList к отфильтрованному перезаряжанию города SelectList

+0

Я понимаю это решение, но мой босс заставляет меня реализовать без использования базы данных или текстового файла. – HungDQ

+0

Если вы не можете использовать текстовый файл, не переходите к параметру hardcoded, создайте в свой код две связанные структуры данных и загрузите данные в них вручную, а затем используйте их для заполнения SelectList. Это ужасно неправильно, но если вы не можете использовать базу данных ни текстовый файл ... – Bardo

+0

Есть ли какой-нибудь веб-сервис/API, который может мне помочь? – HungDQ

0

Если у вас есть предустановленный список городов по стране, и вы действительно не можете использовать какой-либо базу данных, то возможно использовать только текст файлы? Один текстовый файл для списка стран, а затем один файл для каждой страны со списком городов. Прочитайте в текстовом файле и покажите по мере необходимости.

2

Вы можете использовать API, но проблема в том, что у вас будет запрос каждый раз при загрузке вашей страницы. Это не разрешит ни один поставщик API. Например, Here is an API that gets Country/Cities.

Другим решением, использующим технологии .NET, является использование localDB. LocalDB на самом деле является базой данных, но в вашем приложении. Взгляните на определение в MSDN:

Он очень прост в установке и не требует управления, но он предлагает один и тот же язык T-SQL, поверхность программирования и клиентские провайдеры, как обычный SQL Server Express , Если простота (и ограничения) LocalDB соответствует потребностям целевой прикладной среды, разработчики могут продолжать использовать ее в процессе производства, так как LocalDB также создает неплохую встроенную базу данных.

Мелко, последнее решение, которое приходит в виду, если вы не можете использовать XML или JSON-файлы, ни LocalDB, чтобы иметь свои списки в классах, но на мой взгляд, вы должны избегать этого решения, он будет просто загрузить все в ОЗУ до тех пор, пока приложение не остановится, поскольку объем жесткого диска меньше, чем у ОЗУ. Я действительно думаю, что лучшим вариантом является использование файлов XML или JSON в вашем приложении.