尝试拥有一个AJAX动作链接,当点击时,应该对动作方法做一个HttpGet
,该动作方法返回一个PartialViewResult
并将HTML推送到div中。ASP.NET MVC 3(Razor)Ajax.ActionLink - 我做错了什么?
这是我的观点:
<div id="admin-options" class="admin"></div>
@Ajax.ActionLink("Show Admin Options", "ShowOptions", "Post", new { area = "Admin" }, new AjaxOptions { UpdateTargetId = "admin-options", HttpMethod = "GET" })
下面是操作方法:
public class PostController : Controller
{
[HttpGet]
[Authorize(Roles="Admin")]
public PartialViewResult ShowOptions()
{
return PartialView();
}
}
下面是它生成的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。
显然我错过了一些东西 - 但是什么?
呃,就是这样。我有不引人注意的js,但不是AJAX不显眼。干杯! – RPM1984 2011-04-20 04:58:24