你要刷新Master页面,那么就保存不了以前的信息了,你还是操作后就重新查寻一下好了

解决方案 »

  1.   

    需要保存原查询条件还有页次,滚动条位置等
    可以保存到SESSION,也可以用变量传递。
      

  2.   

    asp.net的每一个服务器控件都有一个enableviewstates属性把它设为true,返回页面它会保持原有输入
      

  3.   

    我这个不是在同一页啊!从另一个页面返回本页,用Enableviewstates属性没用啊
      

  4.   

    从detail到master页面的语句中加 一句
       Response.Redirect("master.aspx?backde=" + Request.UrlReferrer.ToString());
    在master返回detail的事件中写入
       Response.Redirect(Request.QueryString["backde"]);
      

  5.   

    TO Oceanson(洋之光)
      先谢谢了,我现在用的就是这种方法,可是返回后不能保存Search文本框的数据,还有Grid中的页次等啊!还有办法吗?
      

  6.   

    办法是有的 就是在url重定位的时候再加两个参数,一个保存文本框数据,一个保存Grid页数
     在detail的Pagelode中加一个判断  看是否是master返回的  你可以判断返回的参数是否为null来确定 如果是重master返回的 就给对应的textbox赋值  和根据页数设定Datagrid的currentpageindex 重新帮定Datagrid
      

  7.   

    你就不能在新窗口中打开Detail吗,干啥非要在一个窗口内呢。或者做一个框架,上面显示Master,下面显示Detail。
      

  8.   

    Oceanson(洋之光)  在Datagrid中的超连接字段,我要怎样把DataGrid的当前页值和搜索文本框的值传过去啊!
      

  9.   

    啊 还没弄好呀     有很多方法可以在网页之间传递数据   使用带参数的重定向是一个比较传统的方法     具体如下
    detail到master页面的语句
    Response.Redirect("master.aspx?backde=" + Request.UrlReferrer.ToString() 
    + "&Text=" + TextBox_seach.text + "&DIndex=" + DataGrid1.SelectItemIndex.ToString());master返回detail的事件中写入
    Response.Redirect(Request.QueryString["backde"] + "&Text=" + Request.QueryString["Text"] + "&DIndex=" + Request.QueryString["DIndex"]);在detail的pagelode的事件中判断
    if (Request.QueryString["Text"] == null)
    {
       //做你原来的pagelode事件
    }
    else
    {
    TextBox_seach.text = Request.QueryString["Text"];
    BindGrid();//你的绑定datagrid的函数过程
    DataGrid1.CurrentPageIndex = Request.QueryString["DIndex"];
    BindGrid();//和翻页一样需要重新帮定
    //做你原来的pagelode事件
    }其他传递和保存参数的方法还有session、cookie等 网上有很多资源的:)
      

  10.   

    To:Oceanson(洋之光)  谢谢你耐心的指教,我现在试试,我也试了用Session等保存参数,但我的程序不止一个页面带搜索功能,如果用Session,当用户到另一页面时,本来搜索里面是没有的,也变成有了,因为我每个页面都是相同的标签啊!如TXTSearch,如果你的方法可行,我一定马上给加分.
      

  11.   

    To:Oceanson(洋之光)
      对了,我是在Datagrid中的超连接传参数,按你的方法不行啊!DataNavigateUrlFormatString="DG_view.aspx?No={0}后面怎样加你的参数啊!帮帮我
      

  12.   

    有点不明白你的意思了   你是想一页 一页 又 一页的返回 每一页都保存原来的状态吗?
    程序是人编的 虽然感觉不太值得在这上面花很多代码和精力 session和application都是
    可序列化object对象。你可以用数组 也可以用哈系表   记录你从开始进入到退出所有的
    页面信息  通过标页面标号 在表中查找你要的那一页信息 读入页面   具体是比较烦琐的
    很抱歉 我有新的任务了 没时间帮你写一遍  
    》》》》DataNavigateUrlFormatString="DG_view.aspx?No={0}后面怎样加你的参数
    序列占位符{0}我没在传送时用过   用变量可以传  想我上面的写法一样  两个以上参数
    之间用&
      

  13.   

    你可以使用Session传值,在返回master页的时候,付值给搜索文本框,再清除Session的值,就可以啦!页次也一样啊!试试吧!