当我更改下拉列表时,由于表单提交,页面似乎会回发。如何在表单提交时保留下拉列表选定值。 我将添加一个webgrid,它将根据下拉列表中的选定年份显示记录。所以我也想知道实现这些场景的最佳实践。 这是我的控制器类
public ActionResult NewActivity()
{
List<SelectListItem> lstYear = new List<SelectListItem>();
lstYear.Add(new SelectListItem { Value = "0", Text = "Select" });
lstYear.Add(new SelectListItem { Value = "1", Text = "2017" });
lstYear.Add(new SelectListItem { Value = "2", Text = "2018" });
ViewBag.SelectedItem = "Select";
ViewBag.YearList = lstYear;
return View();
}
[HttpPost]
public ActionResult NewActivity(string strYears)
{
return View(NewActivity);
}
这是我的观点
<h2>NewActivity</h2>
@using (Html.BeginForm("NewActivity", "Activity", FormMethod.Get))
{
@Html.DropDownList("strYears", new SelectList(ViewBag.YearList, "Value", "Text", ViewBag.SelectedItem), new { onchange = "form.submit();" })
}
我是MVC的新手。请指导我
答案 0 :(得分:1)
在POST操作中添加所选项目的值。我假设strYears
是DropDownList中所选项的值。
[HttpPost]
public ActionResult NewManageActivity(string strYears)
{
ViewBag.SelectedItem = strYears;
return View(NewManageActivity);
}