0

このコードが正しく機能しないのはなぜですか?リンクが表示されますが、それをクリックしても、要求は非同期的に行われません。代わりに、ブラウザは通常のリクエストを行いました。:/注意:ASP.NET MVC 4を使用しています!

これが私のCSHTMLブロックコードです:

<div id="latestReviews"></div>

@Ajax.ActionLink("Click here to see the latest review", "LatestReviews", "Home", null, new AjaxOptions {
    UpdateTargetId =  "latestReviews",
    InsertionMode = InsertionMode.InsertAfter,
    HttpMethod = "GET"
})

そして、これが私のコントローラーアクションです:

    [HttpGet]
    public PartialViewResult LatestReviews(){
        var review = RestaurantReviewQueries.FindTheLatest(_db.Reviews, 1).Single();
        return PartialView("_Review", review);
    }
4

1 に答える 1

1

最後に私は問題を解決しました!_Layout.cshtml には、"scripts" と呼ばれるビューでレンダリングするオプションのセクションがあります。私がしたことは、「スクリプト」セクションを次のようにレンダリングすることでした。

@section scripts {
     <script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
}

    ...

<div id="latestReviews"></div>

@Ajax.ActionLink("Click here to see the latest review", "LatestReviews", "Home", null, new AjaxOptions {
    UpdateTargetId =  "latestReviews",
    InsertionMode = InsertionMode.Replace,
    HttpMethod = "GET"
})
于 2012-12-05T14:16:39.017 に答える