Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET MVC 3(Razor)Ajax.ActionLink-我做错了什么?_Asp.net Mvc_Ajax_Asp.net Mvc 3_Razor_Actionlink - Fatal编程技术网

Asp.net mvc ASP.NET MVC 3(Razor)Ajax.ActionLink-我做错了什么?

Asp.net mvc ASP.NET MVC 3(Razor)Ajax.ActionLink-我做错了什么?,asp.net-mvc,ajax,asp.net-mvc-3,razor,actionlink,Asp.net Mvc,Ajax,Asp.net Mvc 3,Razor,Actionlink,尝试创建一个AJAX操作链接,当单击该链接时,应该执行一个HttpGet操作方法,该操作方法返回一个PartialViewResult,并将HTML推到一个div中 以下是我的看法: <div id="admin-options" class="admin"></div> @Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions

尝试创建一个AJAX操作链接,当单击该链接时,应该执行一个
HttpGet
操作方法,该操作方法返回一个
PartialViewResult
,并将HTML推到一个div中

以下是我的看法:

<div id="admin-options" class="admin"></div>
@Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions { UpdateTargetId = "admin-options", HttpMethod = "GET" })
以下是它生成的HTML:

<a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#admin-options" href="/Admin/Post/ShowOptions">Show Admin Options</a>

我觉得不错

但是它没有进行AJAX调用,而是通过浏览器URL执行常规HTTP GET,并重定向到/Admin/Post/ShowOptions


显然,我遗漏了一些东西,但是什么呢?

请确保页面中包含了不引人注目的AJAX javascript库

<script src="<%=Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")%>" type="text/javascript"></script>

对于使用Razor view引擎的用户

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>


您可能还希望在AjaxOptions中包含InsertionMode选项。我敢肯定,如果排除它,会有一个默认行为,但最好明确地为这样的事情定义它。

Argh,就是这样。我有不引人注目的js,但没有不引人注目的AJAX。干杯
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>