Есть ли API/решение для автоматического сохранения данных длинных веб-форм с использованием архитектуры MVC (asp.net, c#, jquery, ajax)

Я пытаюсь следовать этому коду в своем HTML-коде. Автосохранение в MVC (ASP.NET)

    <div class="form-horizontal">
        <hr />
        @Html.ValidationSummary(true)

        <div class="form-group" data-dirty="false">
            @Html.LabelFor(model => model.Username, htmlAttributes: new { onchange = "function()", @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Username)
                @Html.ValidationMessageFor(model => model.Username)
            </div>
        </div>

        <div class="form-group" data-dirty="false">
            @Html.LabelFor(model => model.Password, htmlAttributes: new { onchange = "function()", @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Password)
                @Html.ValidationMessageFor(model => model.Password)
            </div>
        </div>

«Поскольку форма достаточно длинная, в ней содержится более 200 элементов управления/элементов. Я пробовал локальное хранилище для хранения данных на стороне клиента, но локальное хранилище ограничено размером 10 КБ. Кажется, мне нужно хранить данные на стороне сервера. Мне нужно сделать следующие вещи с автосохранением данных.

  1. Когда пользователь заполняет форму, данные должны автоматически сохраняться примерно через 30 секунд.

  2. Если браузер закрыт по ошибке, при повторном открытии страницы данные должны быть там.

  3. Если страница снова обновится, данные не должны быть потеряны.

  4. Я также должен отслеживать изменения, внесенные пользователем в веб-формы.

Пожалуйста, предложите мне решения для этих задач.


person Asmi    schedule 24.07.2020    source источник
comment
(комментарий о форматировании вопроса) элементы списка должны иметь правильный интервал. Пожалуйста, проверьте.   -  person weirdgyn    schedule 24.07.2020
comment
4 КБ? Я думал, что в современных браузерах это от 5 до 10 МБ.   -  person Adrian    schedule 25.07.2020


Ответы (1)


Вам нужно будет использовать JQuery/Javascript для

  • Сохранение данных после тайм-аута
  • Обнаружить перенаправление/обновление
  • Обнаружение закрытия DOM

Я не знаю о какой-либо существующей библиотеке или возможности MVC для этого.

person DMadden51    schedule 24.07.2020