当用户单击<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/