如图叙:(用传参的方式第一次进入B页面能获取到A页面的值,但随后会发现B页面的datagrid有一个url是没有办法获取A页面参数值的,所以在执行datagrid的URL时参数没办法得到,请问大家有什么方法能解决么?另外除了在后台拼凑<html>显示外 不用datagrid还有其控件能实现像datagrid一样的功效么?)
之前用的MVC故用@url.Action,目前又改成ashx,发现还是一样的问题,A页面的超链接改为, return '<a href="../ashx/BomAllBma.aspx?BMA01=' + row.BMA01 + '" style=" display:block" target=_bank>' + value + '</a>';
帮顶
能帮忙看看么,
@〆 Me゛丶: 你在处理B页面的列表时用一个隐藏dom来存储和A的关联
嗯,我也想过用中间量,可是怎么用呢,能给个实例么
@Moon.Orm塑造Orm经典: 中间量,隐藏,搞定了!哈哈,谢谢你,好开心~原来我一直都在一个胡同里打转转。
@〆 Me゛丶: 给分给分
@Moon.Orm塑造Orm经典: 等一下,显示的时候还有个小小的问题,
一般这种列表详情的方法 往往是点击A页面的一条信息,根据它的Id访问数据库获得相关的数据,然后渲染到B页面,绑定grid的方式与A页面一样。 至于列表控件有许多,目前 dataGrid可以解决大部分问题,有个国外的jquery.datatable 也不错
关键是B页面grid的URL会再次渲染,
@〆 Me゛丶: 代码问题,思路没有错
代码都是OK的,我测试过,怎么感觉是思路问题呢..
B已经取到了主件料号了,B里面的数据应该是根据这个号查出来的吧,再做一个查询应该就可以了吧
嗯,B里面后台通过request是已经获取到了,关键是它还会渲染一次grid中的URL又会执行一次,那么此时B中grid的URL是没办法获取A这边的参数的,有没有解决的办法呢?还是确实这种方式行不通,有更好的思路么,还望指点一二
@〆 Me゛丶: 我去 .../ashx/BomAllBma.aspx?BMA01=' + row.BMA01 + 你的路径是个aspx,如果你不再response后面加 End(),他必然会多渲染一次。
@Richard__Lee: 。。。。。。。。。不是这个原因,这和end()没关系好吧。我再解释一次:1, 第一次指向连接时(action),2,grid的URL,
var url=""; function initTable(paramA) { if(paramA>0) url= "*.aspx?ID="+paramA; else url="*.aspx"; $("#datagrid").datagrid({ url: url }) } 看明白否,我是这样理解的
我觉得不用控件多好, 使用控件虽然可能很多时候稀里糊涂的弄好了,但是出现问题了却不知道怎么解决。 还是直接使用table遍历来的好。