0

次の問題があります。

私のURL構造は次のようなものです:

/ people / edit / usercode

私のコントローラーには次のものがあります:

    [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が更新されますが、Webグリッド上のソートリンクのURLは、アドレスを次のように変更します。

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

私は次のようにとどまる必要があります:

/ People/編集/AFU0006?sort = CreatedOn&sortdir = ASC

どんな助けでも大歓迎です。

4

2 に答える 2

1

@Nick、これはアクション名がLoanRefreshであり、 Refreshではないためです。これを行うには、おそらくルーティングを実行するか、LoanRefreshの結果をRefreshという名前のアクションにリダイレクトする必要があります。

于 2011-05-26T17:28:07.107 に答える
0

ajaxUpdateContainerId部分ビューが最初に呼び出されたビュー内のオブジェクトではなく、部分ビューで指定されたオブジェクトに設定してみてください。その場合、ソートURLは正しく機能するはずです。

于 2013-08-05T16:43:05.973 に答える