在aspnet核心2中没有AjaxHelper的Ajax调用

时间:2017-11-23 16:05:01

标签: ajax razor asp.net-core-2.0 ajaxhelper

我尝试使用“Ajax.BeginForm”在我的aspnet core 2.0项目中使用ajax实现异步调用,但后来根据githubstackoverflow上的这些线程发现没有在aspnet核心中支持这个类,也不支持MVC 6.

除了旧方法之外,有没有其他方法可以在aspnet核心中使用ajax同步调用$.ajax函数?我的问题是,使用AjaxHelper类,我可以在视图文件中使用razor完成所有操作,并将所有内容组织在一个位置。

为什么我会使用剃刀语言制作循环,打印列表,或者其他什么,如果我必须在js文件中(或在< script>标记中)进行ajax调用?我可以使用js处理数据,并将所有内容保存在那里!

你们现在怎么解决这个问题?谢谢你的帮助。

1 个答案:

答案 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);
};