Как использовать окно сообщений в контроллере MVC?
Я создал приложение mvc после завершения регистрации , я перенаправлен на страницу "Спасибо".
но вместо этого я хочу показать всплывающее сообщение, то как я могу это сделать. мой код:
[HttpPost]
public ActionResult Enquiry(Enquiry enquiry)
{
if (ModelState.IsValid)
{
dbEntities.Enquiries.AddObject(enquiry);
dbEntities.SaveChanges();
enquiry.SendEnquiryEmail(enquiry);
return RedirectToAction("Thankyou");
}
return View(enquiry);
}
//redirect to thankyou page
public ActionResult Thankyou()
{
return View();
}
5 ответов
@Reynolds
ваш ответ идеален.
в Razor можно заменить следующую строку
alert("@TempData[alertMessage]");
следующим
alert('@TempData["alertMessage"]');
PS. Обратите внимание на цитаты
чтобы убедиться, что ваше "предупреждение" в вашем представлении отображается только тогда, когда вы намереваетесь (перенаправление из вашего метода ThankYou), а не когда кто-то случайно переходит к вашему представлению "ThankYou"
//redirect to thankyou page
public ActionResult Thankyou()
{
TempData["alertMessage"] = "Whatever you want to alert the user with";
return View();
}
тогда в вашем представлении "Спасибо" это:
if(null != TempData["alertMessage"])
{
<script type="text/javascript">
alert("@TempData[alertMessage]");
</script>
}
Это напишет сценарий, как обычно для любого JavaScript. Надеюсь, это поможет!
в контроллере используйте этот код
public ActionResult Edit(CoverLetterModel model)
{
TempData["msg"] = "<script>alert('Change succesfully');</script>";
}
in view используйте этот код
@Html.Raw(TempData["msg"])
похоже, вы можете отобразить окно сообщения "спасибо" в представлении, где пользователь вводит регистрационные данные?
Если это так, вам нужно отправить AJAX в действие, а затем обработать сообщение об успехе/неудаче, которое возвращается из действия на клиентской стороне javascript.
одно дело иметь в виду, если вы делаете это вы не хотите, чтобы ваши пользователи, чтобы нажать кнопку "отправить" несколько раз, так что вы можете скрыть или отключить его после первого щелчка и показать/включить его при ошибке проверки...
в интернете вам нужно будет использовать Javascript для отображения окна сообщения. Синтаксис (чтобы войти в ваше представление в его простейшей форме)
Alert("Hello There!");
вы не можете вызвать это непосредственно с вашего контроллера. Просто поместите приведенный выше код в представление ThankYou.
Это очень просто, но должно дать вам понятие.