ユーザーがAjax.ActionLink
をクリックしたときに私の表示で<div>
を更新しようとしています。ただし、指定した要素にサーバーの応答を挿入するのではなく、ページ全体を常にナビゲートします。ページ全体をナビゲートするのではなく、Ajax.ActionLinkの更新を要素にする方法を教えてください。
私はthis exampleですべてをやっているように感じますが、最も簡単なテストケースを作成した後でも、私が望む動作を作成できません。次のテストケースで
は、私が/Company/test
ロードし、「ゴー!」をクリックした後、私は「すべて完了」に置き換えられる
<div>
を期待し、代わりにページ全体が
/Company/test_ajax
に移動します。
私はここに何か不足していると確信しています。前もって感謝します。
CompanyController
public ActionResult test()
{
return View();
}
public ActionResult test_ajax()
{
return Content("All done");
}
Test.aspxという
<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<script src="../../Scripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
</head>
<body>
<h2>test</h2>
<%= Ajax.ActionLink("Go!", "test_ajax",
new AjaxOptions {
UpdateTargetId="viewport"
}) %>
<div id="viewport">Replace me!</div>
</body></html>
これは私の問題だったと確信しています。 Url.Content( "〜/ project/path/script.js")の構文を使用しない限り、スクリプトとスタイルの正しいソースを取得することができませんでした。 –
MVC3以上の場合は "jquery.unobtrusive-ajax.js" – RickAndMSFT