Ajax.Actionlink,部分和webgrid问题

时间:2011-05-09 02:20:37

标签: asp.net-mvc asp.net-mvc-3 webgrid

我有以下问题。

我的网址结构是这样的:

/人/编辑/用户代码

在我的控制器中,我有以下内容:

    [AcceptVerbs(HttpVerbs.Post)]
    public PartialViewResult LoanRefresh(string id)
    {
        PeopleModel p = new PeopleModel();
        return PartialView("_LoanHistory", p.getPersonLoanHistory(id));

    }

在我看来,我有:

@Ajax.ActionLink("Refresh", "LoanRefresh", new { id = Model.IdentityCode }, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "loanHistory", LoadingElementId = "Loading"  }, new { @class = "button" })

 <div id="loanHistory">
    @Html.Partial("_LoanHistory", Model.Loans)
 </div>

运行Ajax.ActionLink时,它会将数据恢复正常并更新div,但是webgrid上的排序链接的url会将其地址更改为:

/人/的 LoanRefresh / AFU0006排序= CreatedOn&安培; sortdir = ASC

我需要保持:

/人/ 修改 / AFU0006排序= CreatedOn&安培; sortdir = ASC

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

那么@Nick,那是因为你的行动名称是 LoanRefresh 而不是刷新。要做到这一点,您可能需要做一些路由,甚至将LoanRefresh结果重定向到名为Refresh的操作。

答案 1 :(得分:0)

尝试将ajaxUpdateContainerId设置为局部视图中指定的对象,而不是最初调用局部视图的视图中的对象。排序网址应该正常工作。