我正在使用 ASP.NET 5 RC1。
ASP.NET 5
中的等价物是什么MVC 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 4
中使用的MVC 5
.
我得到:
The name 'Ajax' does not exist in the current context.
在 ASP.NET 5
更新:
我知道它不会被实现。有人可以为我提供 taghelper 代码示例替代方案吗?
最佳答案
说明
我会在这里冒险说它在那时不是一个帮助者。
这是一个组件。它不仅仅是 HTML,还有 JavaScript。将 JavaScript 绑定(bind)到组件后,您将使用哪个框架?您使用纯 JavaScript 吗?
如果此组件与纯 JavaScript(无 jQuery)绑定(bind),则需要针对每个浏览器的所有当前、以前和 future 版本进行更新/测试。
这就是为什么我认为它应该被构建为一个组件而不是构建到框架本身中。
太多的移动部分,对客户端可以并且将会改变的框架/软件有太多的依赖。
解决方案
至于解决方案,我的建议是使用 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
});
});
});
正如您所看到的,这可以很容易地成为一个简单的客户端解决方案,而不是服务器端解决方案。
我希望这能回答您的问题并解决您的问题。
关于asp.net-core - ASP.NET 5 MVC6 中的@Ajax.ActionLink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34134648/