当 aspnet 核心 Razor 页中的验证失败时重新填充表单数据



提前感谢任何帮助

我正在 aspnet 核心 2.1 剃刀页面工作。我需要在验证失败或模型状态无效时重新填充表单数据。 在MVC中,我们可以使用return View(model)但是如何在aspnet core 2.1 razor页面中做到这一点。

我尝试了return Page(),但这触发了服务器端验证,但没有在表单中重新填充数据

需要帮助...

如果

  1. 在相关的页面模型属性上使用[BindProperty]属性,
  2. 使用输入标记帮助程序中的asp-for属性在 UI(Razor 内容页(中建立双向绑定
  3. 如果ModelState.IsValid == false,请拨打return Page()

以下是演示这一点所需的最少步骤:

表格:

<form method="post">
<input asp-for="FirstName"/><span asp-validation-for="FirstName"></span><br />
<input type="submit" />
</form>

和一个页面模型:

public class FormValidationModel : PageModel
{
[BindProperty, StringLength(5)]
public string FirstName { get; set; }
public IActionResult OnPost()
{
if (!ModelState.IsValid)
{
return Page();
}
return RedirectToPage("index");
}
}

最新更新