当用户单击<div>时,我正在尝试更新 View 中的Ajax.ActionLink。但是,它总是浏览整个页面,而不是将服务器的响应插入我指定的元素中。

我觉得我正在this example中做所有事情,但是即使创建了最简单的测试用例,我仍然无法创建我想要的行为。

在随后的测试案例中,我加载了/Company/test并单击“Go!”后,我期望将<div>替换为“All done”,但是整个页面都导航至/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>

最佳答案

您的示例在我的计算机上按预期工作。检查../../Scripts文件夹中是否确实存在文件MicrosoftAjax.js和MicrosoftMvcAjax.js。

关于asp.net-mvc - 如何使Ajax.ActionLink更新元素而不是浏览整个页面?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/874143/

10-10 04:04