ASP.Net Core中使用jquery-ajax-unobtrusive替换Ajax.BeginForm-程序员宅基地

技术标签: ViewUI  测试  javascript  

 

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

好了,就酱紫了

 

转载于:https://www.cnblogs.com/feimaoicoding/p/10560707.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30681121/article/details/96932778

智能推荐

(转)在JSP客户端限制表单重复提交-程序员宅基地

文章浏览阅读55次。在客户端限制表单重复提交有两种方法: 第一种:在javascript脚本中设置一个标志变量,来区分表单是否已经提交。如果已经提交,则弹出对话框告诉用户“重复提交”。 第二种:在单击提交按钮以后将提交按钮设置为disabled状态,这样用户就无法再提交按钮,客户端也就无法重复提交。 采用第一种方法:1.新建一个ClientTest1.jsp文件,代码如..._jsp限制表单重复提交

Tensorflow构建卷积神经网络_with open(cifar10_folder + test_dataset[0], 'rb') -程序员宅基地

文章浏览阅读269次。【方向】 2017-08-24 16:31:56 浏览8502 评论2 ..._with open(cifar10_folder + test_dataset[0], 'rb') as f0:

UE4 C++和蓝图相互调用_虚幻4c++调用蓝图函数-程序员宅基地

文章浏览阅读1k次。Ue4蓝图和c++如何相互调用(宏)官方文档官方文档常用BlueprintCallable 此函数可在蓝图或关卡蓝图图表中执行。BlueprintImplementableEvent 此函数可在蓝图或关卡蓝图图表中实现。BlueprintNativeEvent 此函数旨在被蓝图覆盖掉,但是也具有默认原生实现。用于声明名称与主函数相同的附加函数,但是末尾添加了Implementation,是写入代码的位置。如果未找到任何蓝图覆盖,该自动生成的代码将调用 Implementation 方法。_虚幻4c++调用蓝图函数

Arduino智能小车设计(二)_csdn arduino 小车-程序员宅基地

文章浏览阅读3.4k次,点赞13次,收藏49次。由于学校这几天在开运动会,所以刚好有空闲的时间来好好琢磨这些原件以及认认真真完成这几篇博客。。。。所以,这几天就好好研究这些电子元件。那怎么具体研究呢,我想大概可以从这几个方面入手。1.元件的介绍2.作用3.连接方式4.所控代码因为我也算是萌新,所以这个过程大概会比较复杂,但是我会将我所不懂得点着重标记下来。如果你也是小萌新,也可以参考参考我所遇到的问题;如果你是大佬,也可以给些不错..._csdn arduino 小车

小白易懂的遗传算法(Python代码实现)_遗传算法python代码详解-程序员宅基地

文章浏览阅读7.8k次,点赞13次,收藏137次。讲解通俗、代码简单易懂,小白也能学会遗传算法_遗传算法python代码详解

所有idea中文乱码解决_idea中文乱码的解决方法-程序员宅基地

文章浏览阅读529次。所有idea中文乱码解决_idea中文乱码的解决方法

随便推点

R中.rda文件如何读取(专用)_r语言读取rda文件-程序员宅基地

文章浏览阅读8.3k次,点赞4次,收藏6次。一、问题描述和解决在用R读取数据的时候,常见的一般是.txt或.cvs结尾的文件。突然遇见一个.rda结尾的文件一下子不知道如何读取。经过查资料和自己尝试,终于找到了读取的方法。这里需要使用load函数,使用load(“文件名.rda”)即可将数据读取,但需要注意的是,有一点特殊的地方就是,读取出来,直接用变量名输出出来并不是文件里的数据,而是文件里保存的数据的名字。要想使用文件里的数据,直接..._r语言读取rda文件

.NetCore实现Session与Cookie以及授权过滤器的步骤-程序员宅基地

文章浏览阅读889次。1:在控制器验证登录成功时存储session与cookie的值 /// <summary> /// 验证登录 存储Session或Cookie /// </summary> /// <returns></returns> public async Task<IA..._.netcore实现session与cookie以及授权过滤器的步骤

2023(19届) 软件工程毕业设计选题推荐(二)-程序员宅基地

文章浏览阅读1.5w次,点赞20次,收藏237次。这是学长亲手整理的,软件工程毕设选题系列第三篇,都是经过学长精心审核的题目,适合作为毕设,难度不高,工作量达标,对毕设有任何疑问都可以问学长哦!相对容易工作量达标题目新颖学长限时开放免费开题指导,对开题有任何不明白的,对某项技术或算法不理解的,不知道怎么下手毕设的,都可以问学长,学长会根据你的情况提供帮助,希望能帮助到你。_软件工程毕业设计

python获取当前项目根路径-程序员宅基地

文章浏览阅读1.4k次。两行代码搞定import os# 获取当前文件的目录cur_path = os.path.abspath(os.path.dirname(__file__))# 获取根目录root_path = cur_path[:cur_path.find('pythonProject2')]+'pythonProject2' print(root_path)实际路径:C:\Users\86..._python 当前工程根目录

python判断元素在列表中的索引位置的代码-程序员宅基地

文章浏览阅读2.5k次。把开发过程比较重要的代码段备份一下,如下代码段是关于python判断元素在列表中的索引位置的代码,希望能对大伙也有用途。list = ["red","green","blue"] assert list.index("red") == 0assert list.index("blue") == 2 ..._索引定位代码

H3C设备-802.1X认证配置_华三交换机配置802.1x认证-程序员宅基地

文章浏览阅读2.6k次,点赞3次,收藏18次。5、SW1 与 RADIUS 认证服务器交互报文时的共享密钥为 h3c@123、与 RADIUS 计费服务器交互报文时的共享密钥为 h3c@123。1、打开iNode智能客户端,输入用户名:admin,密码:admin123,点击"连接",连接成功则表示认证通过,如下图所示;1、打开WinRadius软件,点击"设置">"系统"配置NAS秘钥:h3c@123,认证端口1812,计费端口1813;2、 端口GE1/0/1 下的所有接入用户均需要单独认证,当某个用户下线时,也只有该用户无法使用网络。_华三交换机配置802.1x认证