Я застрял при передаче данных из моего представления в мой метод 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);
}