显示HTTP Post成功对话框



我有一个要求,当用户成功发布一些表单数据时,我想要一个模态对话框来显示POST是否成功,以及将视图重置为空状态(如果成功)。

我该怎么做呢?

我让POST逻辑正常工作,但就目前情况而言,没有反馈表明操作是否成功。

答案1:

  public ActionResult Index(string message)
    {
        if(!string.IsNullOrEmpty(message)){
        ViewData["successmessage"]=message;  //Or you can use Viewbag
        }
        return View();
    }
 [HttpPost]
 public ActionResult Index()
    {
        ...............
        return RedirectToAction("Index",new{ message="Saved successfully" });
    }

只是警告ViewData["successmessage"] on View with Javascript的警告框。

在视图中显示警告框为alert('@ViewData["successmessage"]')

回答2:

 [HttpPost]
 public ActionResult Index()
    {
        ...............
        TempData["successmessage"] = "Saved successfully";
        return RedirectToAction("Index");
    }

视图(Index.cshtml):

@{
var message = TempData["successmessage"] ?? string.Empty;
}
<script type="text/javascript">
var message = '@message';
if(message)
    alert(message);
</script>

首先,您必须在前端添加侦听器,主要使用jquery。ajaxSetup函数。

然后你需要让前端监听器知道它是显示对话框的成功请求,添加一个特殊的代码或类似的东西。

c#代码:

return Json(new{Code = 200, Message = "some text"}, JsonRequestBehavior.AllowGet);

Javascript代码:

$.ajaxSetup({
    success: function(xhr){
       var response = JSON.parse(xhr.responseText);
       if(response & response.Code == 200 && response.Message) {
           // pop up dialog with message here
       }
    }
})

最新更新