VS2012RCから Asp.net MVC3 Web サイトを開発しています。Ajax Actionlink を使用して Web サイトの部分ビューを作成しようとしています。しかし、それは機能していません。チームで知っていることをすべて試し、多くの検索を行った後、TestProject で試してみました。それも機能していない私のさらなるうつ病に。私は長い間これを回避しようとしてきましたが、今は SO に電話しています。
これが、テストプロジェクトを作成した方法です。私の間違いなのか、それとも私のマシンの故障なのか教えてください。
- html5 セマンティック マークアップと Razor のビュー エンジンを使用して、MVC3 の空のプロジェクトを作成しました。
- 次に、ホーム コントローラーをプロジェクトに追加し、View() アクションのビューを作成しました。
- 次に、別のアクション TestAjax() を作成しました。
- 次に、 Views Folder の Home Folder に部分ビューを作成しました。
これは私のインデックスビューです:
@{
ViewBag.Title = "Index";
}
<div>
@Ajax.ActionLink("This is a test ajax","testAjax",new AjaxOptions{ UpdateTargetId = "TestAjax" ,HttpMethod ="GET",InsertionMode =InsertionMode.InsertAfter})
</div>
<div id ="TestAjax">
</div>
部分図は次のとおりです。
<h1>Testing testing testing testing</h1>
今私が期待しているのは、リンクをクリックすると、ヘッダーが TestAjax 部門のリンクの下に表示されることです。しかし、実際に何が起こるかは、ホームページにリンクが表示されることです。リンクをクリックすると、「/Home/testAjax」に移動し、部分的なビューのみが表示されます。部分的なビューはありません。
この手順の何が問題なのか教えてください。
編集:
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"> </script>
<script src="@Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")" type="text/javascript"></script>
<script src="@Url.Content(" ~/Scripts/jquery.unobtrusive-ajax.js")" type = "text/javascript"> </script>
</head>
ビュー Index() の Web ページでリソースを確認すると、次のようになります。
<a href="/Home/TestAjax" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.insertAfter, httpMethod: 'GET', updateTargetId: 'TestAjax' });">This is a test ajax</a>