ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm

简介: ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm

 

在大潮流下,大家都在研究MVVM框架,但是做面向搜索引擎的外网项目还是得用服务器渲染。

在.Net中肯定就是用Razor模板引擎了。

.Net Core断臂式重构后,很多在老得Mvc中使用得好好的一些功能,突然就不见了。

在这里鄙视一下微软,说好的无缝切换呢。。我看这个缝还是有点大。

ASP.Net Core中,使用TagHelper替换HtmlHelper。使得写出的Razor代码可读性更高,同时VS的提示能力更强了。

但是也丢掉了很多以前觉得很好用的东西,比如今天要说的Ajax.BeginForm,在ASP.Net Core中突然就不见了,搜索GitHub的Issue,发现官方不打算支持Ajax.BeginForm了。后续也无开发计划,那个issue直接被关闭了。

虽然没了Ajax.BeginForm。但是在墙外搜索到另一种TagHelper的实现。

直接在form上使用data-*去做异步表单,使用方式和Ajax.BeginForm半斤八两

https://github.com/aspnet/jquery-ajax-unobtrusive

去GitHub下载这个项目,然后点击build.cmd,脚本自动构建一个dilst,里面就是js文件

然后引用到项目中。就可以愉快的编写异步表单辣

<form asp-controller="Home" asp-action="Test" data-ajax="true" data-ajax-method="post" data-ajax-begin="begin" data-ajax-success="success">
    <label asp-for="UserName"></label>:
    <input asp-for="UserName" />
    <span asp-validation-for="UserName"></span>
    <br />
    <label asp-for="PassWord"></label>:
    <input asp-for="PassWord" />
    <span asp-validation-for="PassWord"></span>
    <button type="submit">Ok</button>
</form
<script>
        var begin = function () {
            console.log("begin");
        }
        var success = function (context) {
            console.log(context)
        }
    </script>

这里提供了N多个data-ajax-*的taghelper,

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

好了,就酱紫了

 

目录
相关文章
N..
|
4月前
|
XML JSON 前端开发
jQuery实现Ajax
jQuery实现Ajax
N..
51 1
|
4月前
|
XML 前端开发 JavaScript
jQuery中ajax如何使用
jQuery中ajax如何使用
48 0
|
3月前
|
前端开发 JavaScript
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
33 0
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
|
4月前
|
开发框架 前端开发 JavaScript
ASP.NET AJAX使用方法概述(三)
ASP.NET AJAX使用方法概述(三)
34 1
|
16天前
|
前端开发 JavaScript Java
SpringBoot+JQuery+Ajax实现表单数据传输和单文件或多文件的上传
关于如何在SpringBoot项目中结合JQuery和Ajax实现表单数据的传输以及单文件或多文件上传的教程。文章提供了完整的前后端示例代码,包括项目的`pom.xml`依赖配置、SpringBoot的启动类`App.java`、静态资源配置`ResourceConfig.java`、配置文件`application.yml`、前端HTML页面(单文件上传和多文件上传加表单内容)以及后端控制器`UserController.java`。文章最后展示了运行结果的截图。
33 0
SpringBoot+JQuery+Ajax实现表单数据传输和单文件或多文件的上传
|
16天前
|
XML JSON 前端开发
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
24 0
|
3月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
4月前
|
前端开发 JavaScript PHP
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
74 1
|
4月前
|
JSON 前端开发 JavaScript
jQuery ajax读取本地json文件 三级联动下拉框
jQuery ajax读取本地json文件 三级联动下拉框
|
4月前
|
开发框架 缓存 前端开发
安装ASP.NET AJAX (一安装)
安装ASP.NET AJAX (一安装)
53 0