在ASP.NET Core中使用jQuery Unobtrusive Ajax

这篇文章是关于在 ASP.NET Core 中获取 jQuery Unobtrusive Ajax helpers 的。 AjaxHelper 类表示支持在视图内的 AJAX 场景中呈现 HTML。 如果您要将现有的 ASP.NET MVC 项目迁移到 ASP.NET Core MVC,但没有开箱即用的标记助手作为替代品。 可替代的,ASP.NET Core 团队推荐 data-* 属性。 所有现有的@Ajax.Form 属性都可用作 data-* 属性。

首先要使用这个,你需要参考jqueryjquery.unobtrusive-ajax脚本,你可以通过bower下载并安装它。 这是通过 bower 安装脚本库的命令 - bower install Microsoft.jQuery.Unobtrusive.Ajax

安装脚本后,您可以像这样在 _layout.cshtml 文件中引用它。

<script src="~/lib/Microsoft.jQuery.Unobtrusive.Ajax/jquery.unobtrusive-ajax.min.js"></script>

以下是可用于迁移 @Ajax.Form 助手的属性。

AjaxOptionsHTML attribute
Confirmdata-ajax-confirm
HttpMethoddata-ajax-method
InsertionModedata-ajax-mode
LoadingElementDurationdata-ajax-loading-duration
LoadingElementIddata-ajax-loading
OnBegindata-ajax-begin
OnCompletedata-ajax-complete
OnFailuredata-ajax-failure
OnSuccessdata-ajax-success
UpdateTargetIddata-ajax-update
Urldata-ajax-url

您可以像这样使用 Form 元素添加这些属性。

<form asp-controller="Home" asp-action="SaveForm" data-ajax="true" data-ajax-method="POST">
</form>

这是代码,它会在提交表单时显示进度指示器,一旦完成,成功或失败,它都会显示提示消息。

var results = $("#Results");
var onBegin = function(){
    results.html("<img src=\"/images/ajax-loader.gif\" alt=\"Loading\" />");
};

var onComplete = function(){
    results.html("");
};

var onSuccess = function(context){
    alert(context);
};

var onFailed = function(context){
    alert("Failed");
};

这是 HTML 表单

<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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值