asp.net core MVC 替换 Ajax.BeginForm 的方法

1).net framework MVC 下的异步表单提交写法

@using (Ajax.BeginForm("Add", "BlogArticle", new AjaxOptions() { HttpMethod = "post", OnSuccess = "afterAddBlog" }, new { @class = "layui-form" }))
}

2)在 .net core 2.1 的版本里,MVC项目的 表单不支持 Ajax.BeginForm,还是支持 Html.BeginForm,所以为了让我们的表单能异步提交,支持表单提交后的 回调 事件,这里使用 jquery.unobtrusive-ajax.min.js ,通过给表单 添加 属性 达到 异步提交、事件回调等功能

写法如下:

<form class="layui-form" asp-action="CategoryAdd" data-ajax-success="onSuccess" data-ajax="true" data-ajax-method="POST"></form>

 更详细的属性介绍:jQuery Unobtrusive Ajax Helpers in ASP.NET Core

首先,你需要在视图中引用 jQuery 库。 然后,你可以使用 Ajax.BeginForm() 方法来创建一个表单,并在表单提交时使用 Ajax 进行提交。 例如: ``` @using (Ajax.BeginForm("ActionName", "ControllerName", new AjaxOptions { HttpMethod = "POST", OnSuccess = "successFunction" })) { // 表单内容 <input type="text" name="name" /> <input type="submit" value="Submit" /> } ``` 其中,ActionName 和 ControllerName 分别对应你要提交的控制器和方法名。OnSuccess 参数指定了当提交成功后要执行的 JavaScript 函数名。 在控制器中,你可以使用 [HttpPost] 属性来标记一个方法为 POST 方法,并通过参数来接收表单数据。例如: ``` [HttpPost] public IActionResult ActionName(string name) { // 处理表单数据 return View(); } ``` 注意,你需要在 Startup.cs 文件中配置中间件,以支持 Ajax 请求。在 ConfigureServices() 方法中添加以下代码: ``` services.AddMvc().AddViewOptions(options => options.HtmlHelperOptions.ClientValidationEnabled = true); ``` 然后在 Configure() 方法中添加以下代码: ``` app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); routes.MapRoute( name: "api", template: "api/{controller}/{action}/{id?}"); }); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseAuthentication(); app.UseMvcWithDefaultRoute(); app.UseMvc(); ``` 这样就可以在 ASP.NET Core MVC 中使用 AjaxSubmit 了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值