我有以下问题。
我的网址结构是这样的:
/人/编辑/用户代码
在我的控制器中,我有以下内容:
[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
非常感谢任何帮助。
答案 0 :(得分:1)
那么@Nick,那是因为你的行动名称是 LoanRefresh 而不是刷新。要做到这一点,您可能需要做一些路由,甚至将LoanRefresh结果重定向到名为Refresh的操作。
答案 1 :(得分:0)
尝试将ajaxUpdateContainerId
设置为局部视图中指定的对象,而不是最初调用局部视图的视图中的对象。排序网址应该正常工作。