Один из способов сделать это - заполнить список адресов в контроллере и использовать помощник Html.DropDownList для создания раскрывающегося списка.
Например:
public ActionResult Index()
{
var addressList = <YourAddressListHere>;
ViewData["Addresses"] = new SelectList(addressList, "<ValueProperty>", "<NameProperty>");
return View();
}
И вваш взгляд (синтаксис Razor):
@Html.DropDownList("AddressDropDown", (ViewData["Addresses"] as SelectList))
Также есть помощники Html.ListBoxFor и Html.ListBox, если вы хотите сделать множественный выбор.Применяется тот же базовый подход.
(РЕДАКТИРОВАТЬ) Извините за мое недопонимание.
Чтобы получить список адресов, которые вы выбрали, вы можете добавить имя элемента управления в качестве параметра в вас "POST "обработчик и извлеките их во время функции сохранения / редактирования / вставки.
[HttpPost]
public ActionResult Edit(int[] addressList, <your parameters>)
.....
с кодом UI как:
<div class="editor-field">
@Html.ListBox("addressList")
</div>
Вы можете делать все, что вам нужно со списком адресовИдентификаторы, которые были выбраны.Я знаю, что, скорее всего, есть лучший способ сделать это с MVC.Если кто-то смотрит на это и знает лучший способ, пожалуйста, прокомментируйте, потому что я хотел бы знать себя.Я знаю, что вы можете создать некоторые пользовательские классы связующих, которые, я думаю, будут делать все эти вещи автоматически, но я еще не дошел до этого с MVC.Я сам новичок в MVC.
В любом случае, надеюсь, это немного поможет.