修改传参的数据回填

28 篇文章 0 订阅

一、弹出模态框修改和跳转页面修改有点不同。弹出模态框的回填修改的数据可以再页面直接获取。但是呢,跳转页面就不同了,因为页面是跳转的,就算你原页面的数据获取到了,但是跳转后页面数据肯定会被刷新的。

在这里插入图片描述

二、首先给数据行内的修改按钮一个点击事件,点击它然后跳转到修改的页面上去,同时别忘了还需要给它拼接个主键的参数,这样拼接的主要目的是知道你所点击的行,然后获取该行的数据。

//打开修改客户页面
     function editRecord(ClientID) {
            window.location.href = "/ClienteleManagement/Client/
AlterClientelet?ClientID=" + ClientID;
        }

2、然后把用控制器传递参数到视图里面去,参数里面int后面加个参数表示可空类型,再用ViewBag来传递主键ID。

 public ActionResult AlterClientelet(int? clientID)//客户修改
        {
            ViewBag.clientID = clientID;
            return View();
        }

3、然后把控制器的ViewBag.clientID 主键ID,在页面那边赋值到隐藏域里面去,这个隐藏域是写在input标签里面的,传递是用ASP.NET Razor的语法进行传递控制器的代码到页面上去,这样就把主键ID给记录到这里了,因为数据要页面加载的时候就绑定上去,所以最好就把它写在form表单里的最上面。

<!-- 隐藏域 -->
      <input type="hidden" id="clientID" name="ClientID" value="@ViewBag.clientID" />

4、在js那里就把这个主键id给获取出来,用它作为全局变量

var clientID = $("#clientID").val();//获取ClientID

5、这时控制器就需要根据这个主键ID来查询出需要回填的数据,查询的方法其实也只是个多表查询,直接查询甚至都不需要多写分页什么的。

在这里插入图片描述

6.、视图的数据回填,因为这个修改是跳出原来的页面进行操作的,所以要把它写在页面加载事件里面去,实现页面加载就自动地把数据给回填了。

数据回填用post的方法提交数据,同时要给它个从页面上获取到的参数,再使用loadDatatoForm的方法对表单的数据进行回填。使用loadDatatoForm有两个要求,1.要引用jquery.form.min.js的这个插件,2.要把对应回填数据的input标签里面的name名称改为数据库字段名称。

//修改
        $(function () {
            //==============数据回填=============
            $.post("/ClienteleManagement/Client/SelectClientele", { clientID:
clientID }, function (data) {
                $("#dataValidationForm").resetForm();
                //下拉框数据回填
                createSelect("ClientClassID", "/ClienteleManagement/Client/ClientDownBox",
data.ClientClassID);
                //设置表单内容
                loadDatatoForm("dataValidationForm", data);
            });
        });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值