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