У меня есть набор раскрывающихся элементов управления в представлении, которые связаны с двумя списками.
//control
ViewData["Countries"] = new SelectList(x.getCountries().ToList(), "key","value",country);
ViewData["Regions"] = new SelectList(x.getRegions(country).ToList(), "id", "name", regions);
/*
on the view
*/
<% using (Html.BeginForm("","", FormMethod.Get))
{ %>
<ol>
<li>
<%= MvcEasyA.Helpers.LabelHelper.Label("Country", "Country:")%>
<%= Html.DropDownList("Country", ViewData["Countries"] as SelectList) %>
<input type="submit" value="countryGO" class="ddabtns" />
</li>
<li>
<%= MvcEasyA.Helpers.LabelHelper.Label("Regions", "Regions:")%>
<%= Html.DropDownList("Regions", ViewData["Regions"] as SelectList,"-- Select One --") %>
<input type="submit" value="regionsGO" class="ddabtns" />
</li>
</ol>
<br />
<input type="submit" value="go" />
<% } %>
Таким образом, он отправляет запрос на ту же страницу (поскольку он действительно предоставляет альтернативный способ установки / обновления соответствующих раскрывающихся списков, это допустимо, поскольку все они будут заменены на JavaScript).
URL при нажатии - это что-то вроде ...
http://localhost:1689/?country=FRA®ions=117
Регионы зависят от кода страны.
Я пытаюсь достичь этого бита, не беспокоясь о маршрутизации, поскольку в этой функции нет никакого смысла.
Таким образом, у контроллера есть следующий метод.
public ActionResult Index(string country, int regions)