JQuery / AJAX / ASP MVC 3 - 动画PartialView OnSuccess

时间:2011-11-28 13:04:31

标签: jquery asp.net-mvc asp.net-ajax

我希望能够使用Ajax.ActionLink的OnSuccess回调做一些奇特的动画:

@foreach(var item in Model)
{
    @Ajax.ActionLink(Html.Action("GetOpenEnquiriesNum", new { id = item.ACCOUNTNUM }).ToString(), "GetOpenEnquiries", new { id = item.ACCOUNTNUM }, new AjaxOptions()
                                            {
                                                InsertionMode = InsertionMode.Replace,
                                                UpdateTargetId = "daybook-result-" + item.ACCOUNTNUM + "",
                                                OnSuccess = "LoadAjaxSuccess"
                                            })
}

正如您所看到的,我的UpdateTargetId会有所不同,具体取决于我的模型的item.ACCOUNTNUM,因此我可以完全执行以下操作:

$("#daybook-result-123").slideDown("slow");

因为我的模型中的每个项目的123部分都不同。那么无论如何我可以将调用者作为参数传递给LoadAjaxSuccess函数吗?然后做一些事情:

function LoadAjaxSuccess(mycaller)
{
$(mycaller).slideDown("slow");
}

任何帮助都将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:1)

OnSuccess = "(function() { LoadAjaxSuccess(" + Json.Encode(item.ACCOUNTNUM) + "); })()"

然后:

function LoadAjaxSuccess(id) {
    $('#daybook-result-' + id).slideDown('slow');
}

答案 1 :(得分:0)

做这样的事情:

OnSuccess = string.Format("LoadAjaxSuccess('{0}')",
                          "#daybook-result-" + item.ACCOUNTNUM)