0

VS2012RCから Asp.net MVC3 Web サイトを開発しています。Ajax Actionlink を使用して Web サイトの部分ビューを作成しようとしています。しかし、それは機能していません。チームで知っていることをすべて試し、多くの検索を行った後、TestProject で試してみました。それも機能していない私のさらなるうつ病に。私は長い間これを回避しようとしてきましたが、今は SO に電話しています。

これが、テストプロジェクトを作成した方法です。私の間違いなのか、それとも私のマシンの故障なのか教えてください。

  1. html5 セマンティック マークアップと Razor のビュー エンジンを使用して、MVC3 の空のプロジェクトを作成しました。
  2. 次に、ホーム コントローラーをプロジェクトに追加し、View() アクションのビューを作成しました。
  3. 次に、別のアクション TestAjax() を作成しました。
  4. 次に、 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>
4

1 に答える 1

0

~/Scripts/jquery.unobtrusive-ajax.js私のレイアウト/ビューにないjsファイルを参照しました。私はajaxに慣れていなかったので。したがって、MVC で ajax を初めて使用し、グーグルでここに来た人は、まず、上記の参照がレイアウト/ビューにあることを確認してください。

于 2013-01-11T10:17:23.083 に答える