在ASP.NET Core MVC中提交表单后,下拉列表不保留选定的值的解决方法如下:
// POST方法中获取选定的值并传递到视图页面
[HttpPost]
public IActionResult SubmitForm(string selectedValue)
{
ViewBag.SelectedValue = selectedValue;
return View();
}
在视图页面的下拉列表中,根据ViewBag中传递的选定的值设置selected属性:
<select>
<option value="value1" @(ViewBag.SelectedValue == "value1" ? "selected" : "")>Option 1</option>
<option value="value2" @(ViewBag.SelectedValue == "value2" ? "selected" : "")>Option 2</option>
<!-- 其他选项 -->
</select>
// 模型类
public class MyModel
{
public string SelectedValue { get; set; }
// 其他表单字段
}
// GET方法返回带有选定的值的视图页面
[HttpGet]
public IActionResult SubmitForm()
{
MyModel model = new MyModel();
model.SelectedValue = "value1"; // 设置选定的值
return View(model);
}
// POST方法中获取选定的值并传递到视图页面
[HttpPost]
public IActionResult SubmitForm(MyModel model)
{
model.SelectedValue = model.SelectedValue; // 重新获取选定的值
return View(model);
}
在视图页面的下拉列表中,根据Model中的选定的值设置selected属性:
<select>
<option value="value1" @(Model.SelectedValue == "value1" ? "selected" : "")>Option 1</option>
<option value="value2" @(Model.SelectedValue == "value2" ? "selected" : "")>Option 2</option>
<!-- 其他选项 -->
</select>
通过上述方法,即可在ASP.NET Core MVC中提交表单后,保留下拉列表的选定值。请注意,以上方法只是其中的两种常见解决方案,具体实现方式还可以根据实际情况进行调整和优化。
领取专属 10元无门槛券
手把手带您无忧上云