0

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

罗伯特

4

1 回答 1

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 });
        }
于 2013-05-16T18:58:23.000 回答