Я предлагаю использовать jquery ajax-запрос, чтобы заполнить раскрывающийся список опциями в зависимости от значения страны. Запрос ajax может указывать на другой PartialView, который будет возвращать выпадающий список или текстовое поле в зависимости от параметра ...
Дайте мне знать, если у вас возникнут проблемы с реализацией, я буду рад помочь вам ...
Действие в контроллере:
public ActionResult StateNames(string country)
{
if(country == "US")
{
var model = GetArrayOfUsStates();
return View(model);
}
else
{
var model = string[0];
return View(model);
}
}
Частичное представление для вашего выпадающего списка:
@model string[]
@if(Model.Length == 0)
{
<input type="text" name="state" />
}
else
{
<select name="state">
@foreach(var state in Model)
{
<option value="@state">@state</option>
}
</select>
}
Структура вашей страницы:
<select id="countryDDL">
...
</select>
<div id="stateDDLHolder">
</div>
Ваш код JQuery, чтобы получить выпадающий:
$.ajax({
url: '/YourController/StateNames/' + $('#countryDDL').val(),
success: function(data) { $('#stateDDLHolder').html(data); }
});