跨页面传递参数与数据回填

开发工具与关键技术: VisualStudio 2015 mvc
作者:杨泽平
撰写时间:2019、7、12

跨页面回填,在回填方法里也是用的比较多的一种,他有区别于其他回填方法的就是,他需要在不同的两个页面之间传递参数。

我们都知道,回填数据是需要根据主键ID进行回填的,其实也并非一定需要根据主键ID,准确的说回填是可以根据任意数据库唯一字段来进行回填,只要那个字段在数据库可以是唯一的,不会出现重复的就可以。

在同一个页面进行回填,是通过页面传递唯一参数到控制器,控制器根据传递过来的参数进行查询,同样的道理,跨页面回填也是,通过一个页面向另一个页面传递一个唯一的参数,通过传递的参数进行查询,以下面的为例子。

首先,在第一个页面里我是在layui数据表格里查询出我需要传递的ID,通过获取选中行,提取我需要传递的ID,然后通过window.location.href跳转页面,在跳转页面的路径上将需要传递的ID拼在后面一起传递过去。

详情代码如下:

function
LengthenFill(ElderID) {

//获取点击行

var checkStatus = layuiTable.checkStatus("tabExpireRemind");

if (checkStatus.data.length > 0) {

    layer.confirm("是否确定要续约,是请点击确认进入续约界面,否则请取消!",

        { icon: 3, title: "提示" }, function (layIndex) {

        layer.close(layIndex);

        //获取需要传递的ID

        var ElderID = checkStatus.data[0].ElderID;

        //进入回填页面

        window.location.href = "/ReceptionManagement/Lengthen/Lengthen?ElderID=" + ElderID;

    });

} else {

    layer.alert("请选择需要续约的长者!", { icon: 0, title: "提示" });

}

};

第一个页面传递了参数,在第二个页面需要接收参数,还有我这里垮了页面也垮了控制器,其实这跨不跨控制器都是一样的,接收参数只要是在你进入第二个页面的控制器方法里接收就行了,接收很简单,就不多说了,直接看代码吧。

代码如下:

public ActionResult Lengthen(int? ElderID)

{

     try

     {

         //回填参数

         string str =
ElderID.ToString();

         ViewBag.ElderID
= ElderID;

         return View();

     }

     catch (Exception e)

     {

         Console.WriteLine(e);

         return Redirect("/Main/Login");

     }

}

控制器接收到之后,需要返回视图,视图获取到传递过来的参数就可以根据参数进行查询。

视图接收代码如下:

var ElderID=@ViewBag.ElderID;

获取到参数后就是查询方法了,查询数据回填就不说了,最后看一下效果吧。

首先第一个页面,获取传递的ID参数,拼接到跳转路径进行传递,如下图所示:

在这里插入图片描述

然后在第二个页面的控制器接收,接收到之后返回视图,如下图所示:

在这里插入图片描述
在这里插入图片描述

最后是回填后的一部分截图,如下图所示:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值