首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当asp.net MVC验证出错时,如何保留值?

当ASP.NET MVC验证出错时,如果要保留用户输入的值,可以使用以下方法:

  1. 使用ModelState.AddModelError方法:在Controller中,使用ModelState.AddModelError方法添加验证错误,并将用户输入的值存储在ModelState字典中。
代码语言:csharp
复制
if (!ModelState.IsValid)
{
    ModelState.AddModelError("ErrorMessage", "验证失败");
    ModelState.SetModelValue("InputValue", new ValueProviderResult(model.InputValue, model.InputValue, CultureInfo.InvariantCulture));
    return View(model);
}
  1. 使用TempData保存临时数据:在Controller中,使用TempData保存用户输入的值,并将其传递到View中。
代码语言:csharp
复制
if (!ModelState.IsValid)
{
    ModelState.AddModelError("ErrorMessage", "验证失败");
    TempData["InputValue"] = model.InputValue;
    return View(model);
}

在View中,可以使用以下代码获取TempData中的值,并将其显示在表单中:

代码语言:html<input type="text" name="InputValue" value="@TempData["InputValue"]" />
复制
  1. 使用ViewBag或ViewData传递数据:在Controller中,使用ViewBag或ViewData传递用户输入的值,并将其传递到View中。
代码语言:csharp
复制
if (!ModelState.IsValid)
{
    ModelState.AddModelError("ErrorMessage", "验证失败");
    ViewBag.InputValue = model.InputValue;
    return View(model);
}

在View中,可以使用以下代码获取ViewBag中的值,并将其显示在表单中:

代码语言:html<input type="text" name="InputValue" value="@ViewBag.InputValue" />
复制

总之,在ASP.NET MVC中,有多种方法可以在验证出错时保留用户输入的值。选择哪种方法取决于具体的应用场景和需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券