取代Ajax.BeginForm的ajax使用方法

一、前提概要

Asp.net core中已经取消了Ajax.BeginForm,也不会计划出ajax tag helper,所以得利用插件jquery-ajax-unobtrusive,在form中加入相关data-*属性

二、参考资料

https://github.com/aspnet/Mvc/issues/2015

http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-ajax.html

三、使用方法

1、AjaxOptions与HTML属性的对照表:

+------------------------+-----------------------------+
|      AjaxOptions       |       HTML attribute        |
+------------------------+-----------------------------+
| Confirm                | data-ajax-confirm           |
| HttpMethod             | data-ajax-method            |
| InsertionMode          | data-ajax-mode              |
| LoadingElementDuration | data-ajax-loading-duration  |
| LoadingElementId       | data-ajax-loading           |
| OnBegin                | data-ajax-begin             |
| OnComplete             | data-ajax-complete          |
| OnFailure              | data-ajax-failure           |
| OnSuccess              | data-ajax-success           |
| UpdateTargetId         | data-ajax-update            |
| Url                    | data-ajax-url               |
+------------------------+-----------------------------+

 

2、在form中配置

<form asp-controller="ControllerName" asp-action="ActionName"  data-ajax="true" data-ajax-mode="replace" data-ajax-loading="search-info-ajax" data-ajax-update="#info-list" data-ajax-success="testajaxsuccess" data-ajax-method="get">
</form>

<div id="info-list" class="col-md-12">
</div>

 

3、注意事项:

  • data-ajax="true" 必须指定
  • data-ajax-update="#device-info-list" 中的ID必须加上"#"
  • data-ajax-method="get" 中必须指定method
  • data-ajax-mode="replace" 必须指定,选项有replace,replace-with, before, after
posted @ 2017-04-28 11:17  哈哈兮  阅读(1368)  评论(1编辑  收藏  举报