3

私はMVC4を使用してサイトを作成しています。これは音楽を一覧表示するサイトであり、ユーザーはプレイリストを作成できます(カートショッピングなど)。

私はすべての音楽について、Ajaxで実行する必要があるこのアクションリンクを持っています:

@Ajax.ActionLink("Adicionar à Playlist","AddPlaylist", new { id = item.MusicaID }, new AjaxOptions {UpdateTargetId="playlist", InsertionMode=InsertionMode.Replace})

コントローラからのアクションメソッドはPartialView(プレイリストのカート)を返し、それだけが更新されますが、その部分が更新されたページ全体を取得する代わりに、部分的なビューを取得し、ページ上には何も表示されません。

これは、PartialViewをレンダリングする部分です。

<section id="playlist">
     @Html.Partial("_PlaylistPartial")
</section>

これは私のように機能するべきではありませんか?

4

4 に答える 4

2

含まれていることを確認してください

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

あなたの見解では

于 2012-11-29T12:59:45.667 に答える
1

パーティーに少し遅れましたが、同様の問題がありました。解決策は、次の行を _Layout.cshtml に追加することでした。

@Scripts.Render("~/bundles/jqueryval")
于 2013-09-26T22:26:50.067 に答える
1

それはばかげたことでした。

まず、jquery.unobtrusive-ajax.min.js のインクルードが次のように機能しませんでした。

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>

だから私はこのように置きます:

@Scripts.Render("~/Scripts/jquery.unobtrusive-ajax.min.js")

JQueryファイルも含める必要があるため、まだ機能していませんでした:

@Scripts.Render("~/Scripts/jquery-1.7.1.js")
@Scripts.Render("~/Scripts/jquery.1.7.2.min.js")

このように動作します:)

于 2012-11-30T12:57:38.740 に答える
0

まず、Microsoft.JQuery.Unobtrusive.AjaxNuGet マネージャーからインストールし、後でインクルード~/Scripts/jquery.unobtrusiveBundleConfigた後にインクルードしjquery-{version}.jsます。これは次のようになります。

 bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js",
                    "~/Scripts/jquery.unobtrusive*));
于 2016-12-22T07:22:19.783 に答える