Сохраняющиеся данные отображения при сбое отправки формы в Asp Net MVC - PullRequest
0 голосов
/ 28 июня 2019

Учитывая, что у меня есть простой сценарий, приведенный ниже, как можно сохранить отображаемые данные, т.е. InfoAboutInput, когда после проверки формы не удается выполнить на стороне сервера?
Придется ли мне полагаться на кэш на основе сеанса для повторного заполнения моей модели на стороне сервера в случае сбоя проверки модели? Или есть какой-то другой прием, который можно использовать для этого?

Простая модель представления:

public class FormViewModel : IValidatableObject
{
    public string InfoAboutInput { get; set; } // customised display info per user    
    public string UserInput { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
         // perform some specialised validation on UserInput
    }
}

Простой просмотр потребления:

@model FormViewModel
<div>
    <form>
        <h3>@Model.InfoAboutInput</h3>
        <input asp-for="UserInput"/>
        <button>Submit</button>
    <form>
</div>

1 Ответ

0 голосов
/ 28 июня 2019

Действие контроллера, которое ловит сообщение, будет иметь доступ к любым полям формы и их значениям. В этом действии просто создайте новую модель, заполните ее из БД или чего-либо еще, и заполните все возвращенные значения, используя значения формы. Затем верните модель в результате действия контроллера.

...