好的,所以我花了一整天的时间试图弄清楚这一点——但我做不到!这是我的问题。
我正在使用 ASP.NET MVC 4 和 Razor。我的目标是做一些 BASIC Ajax。我想要做的就是在我的页面上有一个 div,它通过 Ajax 链接更新 - 以证明 Ajax 正在工作。
我认为这个问题与我需要使 Ajax 工作的脚本文件有关。默认情况下,我什至没有脚本目录——所以我创建了一个,然后找到了 MicrosoftAjax.js、MicrosoftMvcAjax.js 和 jquery.unobtrusive-ajax.min.js——并在头部中添加了对 _Layout.cshtml 的引用
这是我所拥有的:
在我的 _Layout.cshtml 中,我脑子里有以下内容
<script type="text/javascript" src="../../Scripts/MicrosoftAjax.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftMvcAjax.js"></script>
<script type="text/javascript" src="../../Scripts/MicrosoftMvcValidation.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.unobtrusive-ajax.min.js">/script>`
在我的 HomeController.cs 我有:
[HttpGet]
public string GetStatus()
{
return DateTime.Now.ToLongTimeString();
}
在我的 About.cshtml 文件中,我有以下内容:
@Ajax.ActionLink("Ajax Test", "GetStatus", new AjaxOptions{UpdateTargetId="testtarget", HttpMethod = "Get"})`enter code here`
< div id="testtarget">Test Div</div>
当我编译应用程序时,我可以看到“Ajax Test”链接和“Test Div”文本。
当我单击“Ajax 测试”时,我被重定向到 Home/GetStatus 并将当前时间打印到空白页上。
这显然不是我所期望的