Повторное заполнение данных формы при сбое проверки в ядре Aspnet. - PullRequest
0 голосов
/ 27 сентября 2018

Заранее благодарен за любую помощь

Я работаю на страницах бритвы aspnet core 2.1.Мне нужно заполнить данные формы, если проверка не пройдена или ModelState недействителен.В MVC мы можем использовать return View(model), но как это сделать на странице бритвы aspnet core 2.1.

Я пробовал return Page(), но это запускает проверку на стороне сервера, но не заполняет данные в форме

нужна помощь ...

1 Ответ

0 голосов
/ 27 сентября 2018

Повторное заполнение значений формы происходит автоматически, если вы

  1. используете атрибут [BindProperty] в соответствующих свойствах PageModel,
  2. Используйте атрибут asp-for в вашем помощники по тегу ввода для установления двусторонней привязки в пользовательском интерфейсе (страница содержимого Razor)
  3. вызов return Page() в случае, если ModelState.IsValid == false.

Вот минимальные шаги, необходимые для демонстрации этого:

Форма:

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

И PageModel:

public class FormValidationModel : PageModel
{
    [BindProperty, StringLength(5)]
    public string FirstName { get; set; }

    public IActionResult OnPost()
    {
        if (!ModelState.IsValid)
        {
            return Page();
        }
        return RedirectToPage("index");
    }
}
...