我尝试使用“Ajax.BeginForm”在我的aspnet core 2.0项目中使用ajax实现异步调用,但后来根据github和stackoverflow上的这些线程发现没有在aspnet核心中支持这个类,也不支持MVC 6.
除了旧方法之外,有没有其他方法可以在aspnet核心中使用ajax同步调用$.ajax
函数?我的问题是,使用AjaxHelper
类,我可以在视图文件中使用razor完成所有操作,并将所有内容组织在一个位置。
为什么我会使用剃刀语言制作循环,打印列表,或者其他什么,如果我必须在js文件中(或在< script>标记中)进行ajax调用?我可以使用js处理数据,并将所有内容保存在那里!
你们现在怎么解决这个问题?谢谢你的帮助。
答案 0 :(得分:1)
这也让我有些困惑。我就像我可爱的@Ajax助手在哪里,这节省了我在JS地狱中的时间。
由于@sam链接,他们已将API更改为更多HTML 5语义-不确定为什么,但可以确定
<form asp-controller="Home" asp-action="SaveForm"
data-ajax-begin="onBegin" data-ajax-complete="onComplete"
data-ajax-failure="onFailed" data-ajax-success="onSuccess"
data-ajax="true" data-ajax-method="POST">
<input type="submit" value="Save" class="btn btn-primary" />
<div id="Results"></div>
</form>
您也可以在锚点上执行相同操作,并且不要忘记启用标签的标签
<a data-ajax="true" data-ajax-begin="alert('Hello!')">TEST</a>
然后我想您可以在每个页面上创建类似于Angular的TypeScript文件,或者在每个站点上创建一个TypeScript,或者仅将脚本放在页面上,例如
var onSuccess = function(context){
alert(context);
};