在我们做项目的过程中,我们会经常遇到的问题是我们需要把一个ID或者是其他字段,传到另一个页面,然后我们可以通过ID或者字段来实现其他操作。
下面我们讲解一下怎么操作:
首先呢,我们需要选中某一条数据,然后获取到我选中数据里的某一个ID,然后进行把当前的ID给传到另一个页面上。如果我没选中数据的话,就让它弹出一个信息框
代码如下:
function OpenCluserType() {
var checkStatus = layuiTable.checkStatus("tabCluster");
console.log(checkStatus.data);
if (checkStatus.data.length > 0) {
var ClusterID = checkStatus.data[0].ClusterID;
window.location.href= "/DivisionClaimControllers/MyClusterPack/Information?ClusterID=" + ClusterID;
}
else {
layer.msg("请选择你需要对应的聚类包!");
}
}
下面我们来看一下页面上是否已经成功传ID,效果图如下:
这样我们可以看到的是,我们通过传参数那样传到控制器,并且我们需要用int类型来接收页面上的ID,这样我们就可以拿到这个ID,然后我们可以拿这个ID来进行对数据库里的该条信息进行单条信息查询,然后我们如果需要的话可以用ViewBag来接收某个ID,或字段就可以了。
代码如下:
public ActionResult Information(int ClusterID)
{
D_Cluster Cluster = (from tbCluster in myModel.D_Cluster
where tbCluster.ClusterID == ClusterID
select tbCluster).Single();
ViewBag.ClusterID = Cluster.ClusterID;
return View();
}
接下来我们来看一下效果图:
这样我们就可以在另一个页面来进行调用了,如何调用,我们申请一个变量来接收我控制器的ID,代码如下:
var ClusterID = ‘@ViewBag.ClusterID’;
当然我们也可以用一个隐藏域input标签来接收,代码如下:
<input type="hidden" name="clusy" id="clusy" value="@ViewBag.ClusterID" />
这样我们就可以随便使用这个ID了。