Сохранение формы в ASP.NET MVC с примерами кода

Чтобы сохранить форму в ASP.NET MVC, вы можете использовать несколько методов. Вот несколько примеров с кодом:

Метод 1: использование привязки модели
При этом подходе вы можете привязать поля формы непосредственно к классу модели и сохранить модель в базе данных.

  1. Создайте класс модели, представляющий данные формы:

    public class FormModel
    {
    public string Name { get; set; }
    public string Email { get; set; }
    // Add more properties as needed
    }
  2. Создайте действие контроллера для обработки отправки формы:

    [HttpPost]
    public ActionResult SaveForm(FormModel model)
    {
    // Save the form data to the database
    // Example:
    if (ModelState.IsValid)
    {
        // Save to the database using an ORM or data access layer
        // Example:
        Database.SaveForm(model);
        // Optionally, redirect to a success page or display a success message
        return RedirectToAction("Success");
    }
    // If the model state is not valid, return the view with validation errors
    return View(model);
    }
  3. Создайте представление с полями формы:

    @model FormModel
    @using (Html.BeginForm("SaveForm", "ControllerName", FormMethod.Post))
    {
    @Html.LabelFor(m => m.Name)
    @Html.TextBoxFor(m => m.Name)
    @Html.ValidationMessageFor(m => m.Name)
    @Html.LabelFor(m => m.Email)
    @Html.TextBoxFor(m => m.Email)
    @Html.ValidationMessageFor(m => m.Email)
    <input type="submit" value="Save" />
    }

Метод 2: использование AJAX
Вы можете сохранить данные формы асинхронно с помощью запросов AJAX.

  1. Создайте действие контроллера, аналогичное методу 1.

  2. Создайте функцию JavaScript для обработки отправки формы:

    function saveForm() {
    var formData = {
        name: $('#Name').val(),
        email: $('#Email').val()
        // Add more properties as needed
    };
    $.ajax({
        url: '/ControllerName/SaveForm',
        type: 'POST',
        data: formData,
        success: function(response) {
            // Handle the success response
        },
        error: function() {
            // Handle the error
        }
    });
    }
  3. Измените тег формы представления, чтобы он вызывал функцию JavaScript при отправке:

    @using (Html.BeginForm())
    {
    // Form fields
    <input type="submit" value="Save" onclick="saveForm(); return false;" />
    }

Это всего лишь два примера сохранения формы в ASP.NET MVC. Существует множество других подходов и вариантов в зависимости от ваших требований и предпочтений.