在ASP.NET MVC中,如果字段值已失效,可以通过以下方法将字段值保留在表单中:
// 在控制器中
[HttpPost]
public ActionResult MyAction(MyModel model)
{
// 处理表单提交逻辑
// 如果发生验证错误,将字段值保存在ModelState中
if (!ModelState.IsValid)
{
ModelState["FieldName"].Value = new ValueProviderResult("fieldValue", "fieldValue", CultureInfo.InvariantCulture);
}
return View(model);
}
// 在视图中
@Html.TextBoxFor(m => m.FieldName, new { @value = ViewData.ModelState["FieldName"].Value?.AttemptedValue })
// 在控制器中
[HttpPost]
public ActionResult MyAction(MyModel model)
{
// 处理表单提交逻辑
// 如果发生验证错误,将字段值保存在TempData中
if (!ModelState.IsValid)
{
TempData["FieldName"] = "fieldValue";
}
return RedirectToAction("MyAction");
}
// 在视图中
@{
var fieldValue = TempData["FieldName"] as string;
}
@Html.TextBoxFor(m => m.FieldName, new { @value = fieldValue })
以上是两种常用的方法来保留字段值在ASP.NET MVC表单中。根据具体的需求和场景,选择适合的方法来实现字段值的保留。
领取专属 10元无门槛券
手把手带您无忧上云