我在一个视图上有一组下拉控件,它们与两个列表相关联。
//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)