【问题标题】:Ajax.Actionlink, partial and webgrid issueAjax.Actionlink、部分和 webgrid 问题
【发布时间】:2011-08-21 08:55:40
【问题描述】:

我有以下问题。

我的url结构是这样的:

/人/编辑/用户代码

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

    [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 然后将其地址更改为:

/People/LoanRefresh/AFU0006?sort=CreatedOn&sortdir=ASC

我需要保持:

/People/编辑/AFU0006?sort=CreatedOn&sortdir=ASC

任何帮助将不胜感激。

【问题讨论】:

  • 你解决了吗?请发布您的更新。

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


【解决方案1】:

@Nick,那是因为您的操作名称是 LoanRefresh 而不是 Refresh。为此,您可能需要进行一些路由,甚至将 LoanRefresh 结果重定向到名为 Refresh 的操作。

【讨论】:

  • 谢谢阿德里亚诺,我会进一步研究路由。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-10
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    • 2013-01-13
    相关资源
    最近更新 更多