提交表单后显示消息框(警报)

时间:2018-12-16 19:14:29

标签: javascript asp.net asp.net-mvc

我在asp.net mvc中有表格 我想在用户提交表单时显示警告消息。

public ActionResult AddMessage(Message message)
{
       If(ModelState.IsValid) 
       {
                db.Messages.Add(message);
                db.SaveChanges();
                return RedirectToAction(“Index”);
       }
       else
       {
                return View();
       }
}

1 个答案:

答案 0 :(得分:0)

alert方法是一种JavaScript方法,需要由浏览器在客户端执行。

由于您正在执行常规表单提交,并且想要在ModelState.IsValid为true时显示警报,因此必须在由索引操作返回的视图内进行操作。

您可以使用TempData在当前操作方法代码和重定向响应呈现的操作方法/视图之间传递一些数据。

public ActionResult AddMessage(Message message)
{
    If(ModelState.IsValid) 
    {
        db.Messages.Add(message);
        db.SaveChanges();
        TempData["Message"] = "Saved successfully";
        return RedirectToAction(“Index”);
    }
    else
    {
        return View();
    }
}

Index操作返回的视图中,您可以检查TempData["Message"]是否存在,如果存在,请阅读并在警报中显示。

@section Scripts
{
  <script>
         @if(TempData["Message"]!=null)
         {
              @:alert("@TempData["Message"]");
         }  
  </script>
}