8

ビューページがあります

私のビューページ

<div id="beReplaced">
    @Ajax.ActionLink("please click on me to bring the partial view",
                     "PatrialViewToBeCalled",
                     new AjaxOptions()
                        {UpdateTargetId = "beReplaced",
                        InsertionMode = InsertionMode.InsertAfter,
                        HttpMethod="Get",
                        LoadingElementId = "prgress" })
 </div>

私はコントローラーを持っています

public PartialViewResult PatrialViewToBeCalled()
{
    var customer = db.Customers.First();

    return PartialView("PartialViewThatMustBeShow",customer);
}   

しかし、生成されたリンクをクリックすると、部分ビューをdivタグに置き換えたり追加したりする代わりに、新しいページが表示されます。

どうしたの?

4

5 に答える 5

1

解決策を見つけました。この問題は、壊れた unobtrusive-ajax.min.js ファイルが原因でした。

于 2012-07-21T14:21:50.197 に答える
0

ASP .NET MVC 4 を使用している場合は、次のことを確認してください。

  @Scripts.Render("~/bundles/jquery")

body タグの最後にもあります。

      @Scripts.Render("~/bundles/jquery")
        @RenderSection("scripts", required: false)
    </body>
</html> 
于 2013-04-22T20:23:33.323 に答える
0

うまくいかないと思って、あまりにも長い間取り組んできました。ページのソースを表示しても何も表示されませんでした。

最終的に、Firebug のコンソールで成功したリクエストを確認したところ、実際に機能することがわかりました。画面外に表示しているだけでした。ページソースには表示されませんが、Firebug の HTML タブで最終的に出力を見つけました。

于 2013-07-25T11:55:12.127 に答える
0

ページに jQuery をロードしている場合は、単純な jquery get / load メソッドを使用して部分ビューを取得してみませんか?

<div id="beReplaced">
  <a href="#" id="lnk1">please click on me to bring the partial view</a>
</div>

Javascript

$("#lnk1").click(function(){
$.get('/controller/PatrialViewToBeCalled', function(data) {
         $('#beReplaced').html(data);
      });
});
于 2012-01-08T13:54:03.763 に答える