Кнопка ASP.Net не вызывает метод Post - PullRequest
0 голосов
/ 16 марта 2019

Я застрял при передаче данных из моего представления в мой метод Details, который отправляет значения в почтовый метод.

Мое представление содержит форму, в которой пользователь может оставить комментарий.При нажатии кнопки отправки оно отправляет значение в форме методу [Post] Details, который, в свою очередь, отправляет его методу sendMail.

Я заметил, что нажатие кнопки только очищает поле формы.Я предполагаю, что что-то не так с методом post, так как я не получаю никаких ошибок, и во время отладки я заметил, что кнопка не вызывает метод Post.

Форма

@model Taijitan.Models.ViewModels.LessonDetailsViewModel
...
<form method="post">
    <div class="form-group">
        <label asp-for="Body"></label>
        <input asp-for="Body" class="form-control" id="Body" />
        <span asp-validation-for="Body" class="text-danger"></span>
    </div>
    <button class="btn btn-primary" type="submit">Send</button>
</form>

Получить

public IActionResult Details(int id, int? sessionId, int? memberId)
        {
            Lesson lesson = _lessonRepository.GetBy(id);
            LessonDetailsViewModel ldvm = new LessonDetailsViewModel(lesson) { SessionId = sessionId, MemberId = memberId };

            return View(ldvm);
        }

Сообщение

        [HttpPost]
        public IActionResult Details(LessonDetailsViewModel ldvm)
        {
            if (ModelState.IsValid)
            {
                string lessonTitle = ldvm.Lesson.Name;
                string mailBody = ldvm.Body;
                try
                {
                    SendMail(lessonTitel, mailBody);
                    TempData["message"] = $"Email sent";
                }
                catch (Exception e)
                {
                    ModelState.AddModelError("", e.Message);
                    TempData["error"] = "Something went wrong...";
                    return RedirectToAction(nameof(Index));
                }
            }
            return RedirectToAction(nameof(Details), ldvm);
        }

1 Ответ

0 голосов
/ 18 марта 2019

Комментарий Александра был решением, у него были некоторые проблемы с повторным использованием свойства, но скрытый для этого также исправил это, проблема теперь решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...