好的,所以我花了整整一天的时间来试图找出这一个 - 但我不能!这是我的问题。无法在ASP.NET MVC Razor中获得Ajax
我正在使用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测试”时,我被重定向到Home/GetStatus并打印出当前时间到空白页面。
这显然不是我所期待
你有没有jQuery也包含在_layout?因为顾名思义,'jquery.unobtrusive'在内部使用jquery ...而另一件事,而不是“硬编码”路径使用'Url.Content'而不是例如:'' – nemesv 2012-07-06 15:20:11