Comment puis-je faire de l'Ajax.ActionLink mise à jour d'un élément au lieu de parcourir l'ensemble de la page?

Je suis en train de mettre à jour un <div>, à mon avis, lorsque l'utilisateur clique sur un Ajax.ActionLink. Cependant, il dirige toujours la totalité de la page plutôt que d'insérer la réponse du serveur dans l'élément que j'ai préciser.

J'ai l'impression que je fais tout dans cet exemple, mais même après la création de la plus simple des cas de test je ne peux toujours pas créer sur le comportement que je veux.

Dans le cas de test qui suit, je charge /Company/test et après avoir cliqué sur "Go!", Je m'attendais à la <div> être remplacé par "Tout fait", mais plutôt l'ensemble de la page pour naviguer /Company/test_ajax.

Je suis sûr que je suis absent quelque chose ici. Merci à l'avance.

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>

OriginalL'auteur Stephen Jennings | 2009-05-17