Answered by:
How do i retain Dropdown selected after postback too

Question
-
User2041008840 posted
Hello,
i am searching list by selecting name from dropdownlist and clicking on search button.
after postback selected value get reset. How do I retain it after postback too.
in asp.net core 3.0
Wednesday, December 18, 2019 1:06 PM
Answers
-
User1535942433 posted
Hi Prathamesh,
Accroding to your description, I suggest you could save value in viewdata before return view.Then pass selected dropdown value to controller when click the button.
More details ,you could refer to below codes:
View:
View: <form> <select asp-for="Id" asp-items="@((SelectList)ViewData["vm.Select"])"> <option>Please select one</option> </select> <input id="Button1" type="submit" value="button" onclick="Test()"/> </form> @section Scripts{ <script> function Test() { location.href("/home/index"); } </script>
Controller:
Model vm = new Model() { Select = new List<SelectListItem> { new SelectListItem {Text = "Yellow", Value = "1"}, new SelectListItem {Text = "Red", Value = "2"}, new SelectListItem {Text = "Black", Value = "3"}, } }; public IActionResult Index(string id) { if(id==null) { ViewData["vm.Select"] = new SelectList(vm.Select, "Value", "Value"); } else { ViewData["vm.Select"] = new SelectList(vm.Select, "Value", "Value",id); } return View(vm); } [HttpPost] public IActionResult Click(string id) { return RedirectToAction("Index",id); }
Model:
public class Model { public int Id { get; set; } public string Color { get; set; } public List<SelectListItem> Select { set; get; } }
Result:
Best regards,
Yijing Sun
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Thursday, December 19, 2019 9:28 AM
All replies
-
User1535942433 posted
Hi Prathamesh,
Accroding to your description, I suggest you could save value in viewdata before return view.Then pass selected dropdown value to controller when click the button.
More details ,you could refer to below codes:
View:
View: <form> <select asp-for="Id" asp-items="@((SelectList)ViewData["vm.Select"])"> <option>Please select one</option> </select> <input id="Button1" type="submit" value="button" onclick="Test()"/> </form> @section Scripts{ <script> function Test() { location.href("/home/index"); } </script>
Controller:
Model vm = new Model() { Select = new List<SelectListItem> { new SelectListItem {Text = "Yellow", Value = "1"}, new SelectListItem {Text = "Red", Value = "2"}, new SelectListItem {Text = "Black", Value = "3"}, } }; public IActionResult Index(string id) { if(id==null) { ViewData["vm.Select"] = new SelectList(vm.Select, "Value", "Value"); } else { ViewData["vm.Select"] = new SelectList(vm.Select, "Value", "Value",id); } return View(vm); } [HttpPost] public IActionResult Click(string id) { return RedirectToAction("Index",id); }
Model:
public class Model { public int Id { get; set; } public string Color { get; set; } public List<SelectListItem> Select { set; get; } }
Result:
Best regards,
Yijing Sun
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Thursday, December 19, 2019 9:28 AM -
User2041008840 posted
this is helpful sir thank you.
Thursday, December 19, 2019 10:13 AM