1

我正在使用 MVC4 Ajax.ActionLink 来绑定或更新部分视图

 @Ajax.ActionLink("Link","Action","Controller" , new {id = @Id}, new AjaxOptions { HttpMethod="Post",UpdateTargetId="dvUpdateId", OnSuccess = "scsFunctions"})

现在的问题是,如果我尝试通过右键单击新选项卡或新窗口中的打开链接来打开链接,那么我会遇到以下两个问题。

(1)在新选项卡或新窗口中只返回部分视图。所以页面的其他部分消失了。

(2)它永远不会像其他函数一样调用 Onsuccess 函数。在上面的代码 OnSuccess 中,我们定义调用“scsFunctions”,它永远不会调用 . 所以我们在函数内部编写的脚本永远不会执行。

帮我找到正确的解决方案......

4

1 回答 1

3

我已经解决了这个问题。首先检查是 AjaxRequest 还是 ChildAction。如果是,则返回 PartialView,如果不是,则返回 redirectResult

public ActionResult Index(int param1, bool param2)
        {

            if (HttpContext.Request.IsAjaxRequest() || ControllerContext.IsChildAction)
            {
                return PartialView("Controls/_SingolaGallery", param1);
            }
            return new RedirectResult("http://www.myredirectUrl.com");//you can redirect in this another way--> new RedirectResult(Url.Action("ActinNAme","ControllerName")); 

          }
于 2014-06-05T12:40:38.673 回答