首页前端开发HTMLASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm

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

时间2023-07-05 12:22:02发布访客分类HTML浏览842
导读: 在大潮流下,大家都在研究MVVM框架,但是做面向搜索引擎的外网项目还是得用服务器渲染。在.Net中肯定就是用Razor模板引擎了。.Net Core断臂式重构后,很多在老得Mvc中使用得好好的一些功能,突然就不见了。在这里鄙视一下微软,说...

 

在大潮流下,大家都在研究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,

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

好了,就酱紫了

 

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

开发框架前端开发JavaScript搜索推荐.NETC++

若转载请注明出处: ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm
本文地址: https://pptw.com/jishu/290242.html
asp.net core过滤器记录响应对象 【社区图书馆】 Go佬—Go程序开发实战宝典书评

游客 回复需填写必要信息