要求:
    有页面pageOne,pageTwo....(除了pageOne外,其它为Pop窗口).
    pageOne为调用页面,能从其它的页码调回值.
    有几个调用页面都用到了能多选的下拉列表或是DataGrid.要求能返回并显示在主调页面的DataGrid中.    现在我用的是多个session数组,请问高手还有没有更好的方法.要能够选后面的结果时不能改变或丢失前面所选的结果.而且最好不要回一次就整个页面刷新一次,我现在也差不多这样了,而且session量巨大.别的方法又还没试通.
    请大家不吝指导!
    最好给一份解决的源代码.没有也请指点明路啊......    分不够,再加!!
    如有好心者(比如N颗星者),也给我送点分就好啦,这时代csdn币少了就不行呵.

解决方案 »

  1.   

    JavascriptpageOne
    function MM_openLookupWindow1(theURL,winName,features) 
    {
    window.param1 = document.main.from_consg_cd;// for cosg cd
    window.param2 = document.main.from_cosg_name; // for cosg name
    window.param3 = document.main.from_cosg_address; // for cosg address
    window.param4 = document.main.from_cosg_postal; // for cosg postal code
    window.param5 = document.main.from_cosg_zone; // for cosg zone
    window.param6 = document.main.from_cosg_tel; // for cosg tel no.
    window.open(theURL,winName,features);
    }pageOther1
    function MM_openLookupWindow1(theURL,winName,features) 
    {
    window.param1 = document.main.from_consg_cd;// for cosg cd
    window.param2 = document.main.from_cosg_name; // for cosg name
    window.param3 = document.main.from_cosg_address; // for cosg address
    window.param4 = document.main.from_cosg_postal; // for cosg postal code
    window.param5 = document.main.from_cosg_zone; // for cosg zone
    window.param6 = document.main.from_cosg_tel; // for cosg tel no.
    window.open(theURL,winName,features);
    }pageOther2
    function MM_openLookupWindow2(theURL,winName,features) 
    {
    window.param1 = document.main.to_consg_cd;// for cosg cd
    window.param2 = document.main.to_cosg_name; // for cosg name
    window.param3 = document.main.to_cosg_address; // for cosg address
    window.param4 = document.main.to_cosg_postal; // for cosg postal code
    window.param5 = document.main.to_cosg_zone; // for cosg zone
    window.param6 = document.main.to_cosg_tel; // for cosg tel no.
    window.open(theURL,winName,features);
    }pageOthers....
      

  2.   

    父页面
    function ViewRecordClick()
    {
    var features = "dialogHeight: 465px; dialogWidth: 465px; edge: Raised; center: Yes; help: No; resizable: No; status: Yes;";
    var rid = Math.random();
    var url = "<%=Request.ApplicationPath%>/Pages/RecordPicker.aspx?rid="+rid;
    var result = window.showModalDialog(url, features);
    }<IMG style="CURSOR: hand" onclick='ViewRecordClick()'src="../../Images/search.gif" ></td>弹出页面
    function ReturnValue()
    {
    var list = document.getElementById("lstTarget");
    var selectedItemsID = "";

    for(i=0; i < list.options.length; i++) 
    {
    selectedItemsID += list.options[i].value + ",";
    }
    top.returnValue=selectedItemsID;
    top.close();
    }<TD align="right" width="100">
    NPUT class="Button" id="btnOK"  onclick="ReturnValue();" type="button" value="OK">
    </TD>
    <TD align="right" width="100">
    <INPUT class="Button" id="btnCancel"  onclick="javascript:top.returnValue=null;top.close();"type="button" value="Cancel" name="btnCancel">
    </TD>
    详细参考
    http://dev.csdn.net/develop/article/15/15113.shtm
      

  3.   

    Kevin_jun() 
    我的多个DataGrid怎样得到javascript中的值呢.我可能是一组数据啊.怎样才能回送时触发我选中的特定的数据绑定呢.
      

  4.   

    singlepine(小山) ( ) 信誉:319 
    不好意思,这个问题我是问小山,不想贴了自己的名字.
    因为我也有这个问题,我用的是javascript,没有考虑到 datagrid 的问题,
    呵呵
      

  5.   

    有几个调用页面都用到了能多选的下拉列表或是DataGrid.要求能返回并显示在主调页面的DataGrid中.不是明白这个什么意思。用地址加参数的办法不行吗
      

  6.   

    晕,拿我的帖子来问题!??
    要给分的吧,:>
    不过谢谢大家,我先去try一下先!
      

  7.   

    哦,我的意思是一个主页面,有几个popup的页面.
    然后用popup页面传回来值来确定主页面的datagrid中的显示.如有几个公司用了我们公司的服务.
    是哪些公司?
    有哪些服务?
    然后要选哪些是这个月的服务?
    哪些可能是付钱的服务?
    然后要由这些生成报表.我学生新人一个,实习中碰到了这个问题.
      

  8.   

    小山 版主
    js返回的值在c#中如何得到?我要用到它来绑定dg.
    网页分三部分 如:
      part1      part2
           part3
    part1 为公司信息.
    part2 为服务帐号信息.
    part3 为客户选择属于这个服务帐号的帐单,选取要给钱的单子.
    这些都是要popup出来选取的,这是结帐的单据.
    我先要回去吃饭啦.
    版主,给解决一下嘛.另外,单据会有很多,一月有几万张,
    而且都差不多集中在月底最后几天.
      

  9.   

    如果是popup窗口我比较同意小山的方式。
    用session很糟糕的设计,容易丢。
      

  10.   

    各位前辈,用小山或是kevin-jun的都是客户端的javascript.
    我用javascript得到了值
    如小山写的,javascript返回了一个数组.我想用在c#中访问这个数组.因为这是客户选择的服务.
    我要在datagrid中给他显示出来啊.javascript中的对象或是值如何与c#中的交互?.
    这样我就可以避免很多刷新,也用不着session了.
      

  11.   

    http://singlepine.cnblogs.com/articles/323764.html
    我给你做了一个演示代码,去看一下吧
      

  12.   

    小山 老大
    高人啊.
    我刚把源码下下来,并try完了.
    跟我想要的差不多.我可能只要把son中的column名字改为service名单就OK了.
    但在father页面,还有点问题,还望老大给解决一下.
    就是我得到传递来的值.(如客户选的serviceID数组,这是他们要付钱的).我要在
    DataGrid中显示出来,而不是隐藏列,该怎么做??如何交互?
      

  13.   

    ^_^,我给你的例子主要是演示怎么把选择的内容传递过来,接受后的处理没怎么在演示中做,我只是把接受后的内容作为datagrid需要的列而已主要是这里
    showColumnsFilter = Request.QueryString["ShowColumnsFilter"];
    你获取了传递过来的信息后,然后就根据这些信息处理就是了,如(showColumnsFilter="1,2,3")到数据读取数据什么的
    string sql="select * from tablename where id in "+showColumnsFilter;
    然后把你读取到的数据绑定到datagrid上就可以了
      

  14.   

    哦,那意思是我把一个textbox设为隐藏-->接受赋值-->然后就再从中取得值?
    不过也有一点疑问,就是我用一个Button来触发,有onclick事件,与c#的Button_click事件.不会同时触发吧呵呵,谢谢小山老师了.我去试一下先.
      

  15.   

    小山老师,我明白您的方法了.
    确实可行的.
    只是
    1.我的这个主调页面有多个要实现这样的功能.
    window.location.href = href + "?ShowColumnsFilter=" + result;
    那么后面的请求时,前面的值不是会不见了么?2.能不能在javascript方法里我写一个调用另一个服务器端的button的click事件,然后只刷新这个DataGrid.而之前得到的值不会丢失?(我试了一下,好像没调用成功)
    document.getElementById("btnCsOrder").click();
    这个是我写在你的函数后的,调用不到.楼上兄弟怎么用你说的隐藏控件啊?
      

  16.   

    对于表格来说,建议使用lgxgrid控件。
    效果请参阅:
    http://lgxyslldw.512j.com/软件截图.ppt
    (此软件截图为一用C#和lgxgrid控件开发的B/S应用程序的截图,你看看里面的弹出子表合不合你的要求!)
    更多的信息:
    http://community.csdn.net/Expert/topic/4535/4535998.xml?temp=.9824488
    http://community.csdn.net/Expert/topic/4535/4535400.xml?temp=.6242334
    http://lgxyslldw.512j.com
      

  17.   

    想永久保存所需数据的话,用session.只在下个也面用一次的话用request方式传值
    (http://community.csdn.net/Expert/topic/4535/4535998.xml?temp=.9824488
    上面URL中"?"后面的等式)
      

  18.   

    兄弟,你看了我的http://lgxyslldw.512j.com/软件截图.ppt了吗?
    如何?
    用lgxgrid,一切都会变得简单,不然你还会为打印问题头痛呢。
    (你想在WEB应用程序中打印标准的报表吗?如果想,用lgxgrid控件吧!)
      

  19.   

    lgxysl(我心欲静) () 信誉:100 嘿嘿,不用的.有人专门做Crystal.我只要得到结果就行,最后调用.
    这个页面只是提供给客户部看的.
    你们那太专业,用到这里有点大材小用了.再说用你们的可能要增值服务MM的哦.
    我们经理拿我等实习生新春之际做这个您还不明白?
    我们加班没奖金,工资只用付饭费.车费补贴单程.其它的,没有!
    做不好,说不定跟他们做的机会就没啦,就等着做文书吧.....
      

  20.   

    结帐啦,祝大家新年愉快!!
    (没解决的明年啦,用别的方法了,多用几个页面罢了,也不非要在同一个页.呵呵)在此谢谢小山版主的回帖,一名话,没得说的!
    并也要谢谢kevin-jun的回贴
    谢谢lgxysl的推荐
    谢谢明星(带红星的)们的光临
    衷心感谢发帖的朋友们
    也感谢在幕后支持我的朋友(看帖的)
    也更要感谢我的家人,我的.....(嘿嘿,想看这些,上春晚啦,说不定看到我的...)
    值此祝大家新年快乐!
    多福多财!
    顺风顺水!