使用 @Html.DropDownList 从下拉列表中获取所选值

Get the selected value using from dropdownlist using @Html.DropDownList

这是下面的代码。所选值发送到控制器。

@Html.DropDownList("pagesize", new List<SelectListItem>
{
    new SelectListItem() {Text = "10", Value="10"},
    new SelectListItem() {Text = "20", Value="20"},
    new SelectListItem() {Text = "30", Value="30"},
    new SelectListItem() {Text = "40", Value="40"}
}, new { onChange = string.Format("location.href = '{0}'", @Url.Action("Logs", "Logging")) }) 

控制器:-

public ActionResult Logs(int pagesize=10)
{
}

删除 onChange 属性并使用 unobtrusive javascript。该函数需要将所选值添加到 url 作为路由参数。

var url = '@Url.Action("Logs", "Logging")';
$('#pagesize').change(function() {
  location.href = url + '?pagesize=' + $(this).val();
}

旁注:您应该在控制器中生成 SelectList,但无论如何都可以简化为

@Html.DropDownList("pagesize", new SelectList(new List<int>(){ 10, 20, 30, 40 }))