在mvc3 / 4中执行操作后显示警报

时间:2013-05-16 15:26:21

标签: asp.net-mvc-4 asp.net-ajax alert

我需要告知用户点击操作的成功/失败。在视图中我已经准备好了到控制器的动作链接,执行数据库操作并返回结果。然后我想用“完成”或“失败”的消息显示警告。一切都应该在不重新加载页面的情况下完成。我试图定义@ Ajax.ActionLink和text / javascript函数,但它根本不起作用...请帮忙。提前谢谢。

罗伯特

1 个答案:

答案 0 :(得分:1)

首先你应该包括脚本:jquery和jquery.unobtrusive-ajax之类的:

<head>
    ...
    <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
</head>

内部视图:

<script type="text/javascript">
    function myCallback(data) {
        if(!data.Success)
        {
             alert(data.ErrorMessage);
        }
        else
        {
            alert("id: " + data.Id);
        }
    }
</script>

@Ajax.ActionLink("Actionlink", // <-- Text to display
                 "GetDeneme", // <-- Action Method Name
                 new { id = "2"},
                 new AjaxOptions
                 {                         
                     HttpMethod = "POST", // <-- HTTP method
                     OnSuccess = "myCallback"
                 })

在控制器中:

public ActionResult GetDeneme(string id)
        {
            var error = (id == "3");

            if (error)
            {
                return Json(new { Success = false, ErrorMessage = "Error!" });
            }

            return Json(new { Success = true, Id = id });
        }