Asp.net-Core
ASP.NET 5 MVC6 中的@Ajax.ActionLink
我正在使用 ASP.NET 5 RC1。
什麼等價
ASP.NET 5MVC 6於@Ajax.ActionLink例子:
@Ajax.ActionLink("Show", "Show", null, new AjaxOptions { HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "dialog_window_id", OnComplete = "your_js_function();" })如中所用
ASP.NET 4MVC 5。我得到:
目前上下文中不存在名稱“Ajax”。
在
ASP.NET 5更新:
我知道它不會被實施。是否有人可以為我提供 taghelper 程式碼範例替代方案?
您可以使用帶有 data_ajax 參數的正常 html 幫助程序,如下所示:
@Html.ActionLink("Link title", "Action", "Controller", null, new { data_ajax = "true", data_ajax_method = "GET", data_ajax_mode = "replace", data_ajax_update = "#update-container" })
解釋
我會在這裡猶豫一下,說那時它不是幫手。
它是一個組件。它不僅是 HTML,而且是 JavaScript。將 JavaScript 綁定到組件後,您使用的是哪個框架?您使用的是純 JavaScript 嗎?
如果此組件與純 JavaScript(非 jQuery)相關聯,則需要針對每個瀏覽器的所有目前、以前和未來版本對其進行更新/測試。
這就是為什麼我認為它是作為一個組件建構的,而不是建構到框架本身中的原因。
太多的移動元件,對客戶端可以並且將會改變的框架/軟體的依賴太多。
解決方案
至於解決方案,我的建議是使用 jQuery 或類似的東西。
HTML
<a class="ajaxLink" href="#" data-href="/Project" data-method="DELETE">Delete Project</a>JavaScript
$(document).ready(function() { $("a.ajaxLink").on('click', function (){ var self = this; $.ajax({ type: $(this).attr('data-method'), url: $(this).attr('data-href') }).then(function() { // success callback }); }); });如您所見,這很容易成為一個簡單的客戶端解決方案,而不是伺服器端解決方案。
我希望這能回答您的問題並解決您的問題。