asp.net MVC 使用Ajax.BeginForm 无刷新提交from表单

新建MVC项目 MVC5测试 




在 Models文件夹下新建类 TestViewModel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MVC5测试.Models
{
    public class TestViewModel
    {
        public string name { get; set; }
        public string pw { get; set; }
    }
}


在Controllers 下新建控制器 Test,


增加Action Submit 提交方式是post 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MVC5测试.Controllers
{
    public class TestController : Controller
    {
        // GET: Test
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Submit()
        {
            return PartialView();
        }
    }
}

为Test控制器的Index添加视图,模型是之前新建的TestViewModel


@model MVC5测试.Models.TestViewModel

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>  
</head>
<body>
    <div>
        @using (Ajax.BeginForm("Submit", "Test", new AjaxOptions
        {
            HttpMethod = "Post",
            UpdateTargetId = "update",
            InsertionMode = InsertionMode.Replace
        }))
        {
            @Html.TextBoxFor(o => o.name)
            @Html.TextBoxFor(o => o.pw, new { type = "password" })

            <button type="submit" style="width:80px; height:30px;">提交</button>
        }
        <br />
        <div id="update"></div>
    </div>
</body>
</html>

为  Submit添加视图 


<div>
    测试
</div>

测试Text/Index,发现不会实时更新,而是重新打开页面,是因为没有增加JS文件

打开BundleConfig.cs 如果没有jquery.unobtrusive-ajax.js

从Nuget下载 


在视图里增加 js引用

    @Scripts.Render("~/bundles/jquery", "~/bundles/jqueryval")
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

保存测试


代码下载地址 : 点击打开链接






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值