我不知道为什么,但没有 Ajax 发生。它只是将我链接到一个新的空白页面并显示“NA”,因为它调用下面的 GetTime() 函数:这是我在 Index.cshtml 中的 Hello World 代码:
@ViewBag.Title = "Home Page"
<h2>@ViewBag.Message</h2>
<p>Hello there! Click Update to see the current time!</p>
<div id="MyAjaxDiv"></div>
@Html.ActionLink("Update", "GetTime", new {id="MyAjaxLink"})
这是 HomeController.cs 代码:
namespace MvcApplication1.Controllers {
public class HomeController : Controller {
public ActionResult Index() {
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public string GetTime() {
if (Request.IsAjaxRequest())
return DateTime.Now.ToString("hh:mm:ss tt");
return "NA";
}
}
}
我点击了这个链接: Ajax.ActionLink not working, Response.IsAjaxRequest() is always false
但是,正如那篇文章所建议的那样,在单独的 myscripts.js 文件中使用或不使用 AJAXifying 代码没有区别。它仍然将我链接到带有“NA”的空白页面。这是 _layout.cshtml 的标头中声明的代码
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Content/myscripts.js")" type="text/javascript"></script>
文件“contents/myscripts.js”</p>
$(function() {
$('#MyAjaxLink').click(function() {
$('#MyAjaxDiv').load(this.href);
return false;
});
});
请帮忙 !