Asp.net-Mvc

ASP.NET MVC 3 (Razor) Ajax.ActionLink - 我做錯了什麼?

  • April 20, 2011

試圖擁有一個 AJAX 操作連結,當點擊該連結時,應該對一個HttpGet返回 aPartialViewResult並將 HTML 推入 div 的操作方法執行 a。

這是我的觀點:

<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**。

顯然我錯過了一些東西 - 但是什麼?

確保您的頁面中包含不顯眼的 AJAX javascript 庫。

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

引用自:https://stackoverflow.com/questions/5725525