【发布时间】:2011-06-25 19:23:13
【问题描述】:
我已经在谷歌上搜索/SO:一段时间了,似乎很多人都在分享这个问题,但我还没有找到任何成功的解决我的问题的方法。
使用 MVC3 和 Razor。
-
母版页包含:
<script src="@Url.Content("~/Scripts/jquery-1.5.min.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script><script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script> -
AjaxTest.cshtml 包含:
<div id="AjaxTestDiv">content</div>@Ajax.ActionLink("Update", "AjaxTester", new AjaxOptions { UpdateTargetId = "AjaxTestDiv" }) -
AjaxTester 动作方法:
public string AjaxTester() { if (Request.IsAjaxRequest()) { return DateTime.Now.ToString(); } else { return "FAIL"; } }
我总是将“失败”返回到空白页面,而不是目标 div。
编辑:另请注意,如果我删除 if (Request.IsAjaxRequest()),我仍然不会将任何内容返回到目标 div,而是返回一个空白页面。
Edit2:查看生成的 HTML,这是我的链接:
<a data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace"
data-ajax-update="#AjaxTestDiv" href="/Area/AjaxTester">Update</a>
曾尝试将方法切换为GET,但无济于事。
【问题讨论】:
-
有趣的是,这个扩展总是寻找 X-REQUESTED-WITH 标头来确定它是否是 AJAX 请求,由于某种原因,AJAX 请求没有提供它...
-
我在想也许我有过时的 MicrosoftAjax.js / MicrosoftAjax.Mvc.js,但我真的找不到他们的下载页面..
标签: asp.net asp.net-mvc ajax