1

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

除了旧的方法之外,还有其他方法可以在 aspnet 核心中使用 ajax 异步调用$.ajax吗?我的问题是,在AjaxHelper课堂上,我可以用剃刀在视图文件中做所有事情,并将所有内容组织在一个地方。

如果我必须在 js 文件中(或在 < script > 标签中)进行 ajax 调用,我为什么要使用 razor 语言创建一个循环并打印一个列表或其他任何东西?我可以在那里使用 js 处理数据,并将所有内容都保存在那里!

你们现在是如何解决这个问题的?谢谢你的帮助。

4

1 回答 1

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);
};
于 2018-07-17T08:24:00.907 回答