收录日期:2019/01/20 03:16:27 时间:2016/05/20 18:28:12 标签:ASP.NET
master/detail页面,master页面中的Datagrid中有一连接至Detail页面,当从Detail页面操作后返回到Master页面,Master页面怎样保持以前状态.如它的搜索文本,页次等等,不能用history.back(),Detail操作后需刷新Master页面,解决后马上结贴.
帮你up
你要刷新Master页面,那么就保存不了以前的信息了,你还是操作后就重新查寻一下好了
需要保存原查询条件
刷新后就保存不住以前的信息了,重新查询。
需要保存原查询条件

还有页次,滚动条位置等
可以保存到SESSION,也可以用变量传递。
谢谢各位了,难道没其它方法了吗?那你们是怎样做的啊!这是很常用的功能啊!帮忙啊
能不能给点具体的代码,谢谢了!很急啊!分不给可以再加啊!
asp.net的每一个服务器控件都有一个enableviewstates属性把它设为true,返回页面它会保持原有输入
我这个不是在同一页啊!从另一个页面返回本页,用Enableviewstates属性没用啊
从detail到master页面的语句中加 一句
   Response.Redirect("master.aspx?backde=" + Request.UrlReferrer.ToString());
在master返回detail的事件中写入
   Response.Redirect(Request.QueryString["backde"]);
TO Oceanson(洋之光)
  先谢谢了,我现在用的就是这种方法,可是返回后不能保存Search文本框的数据,还有Grid中的页次等啊!还有办法吗?
办法是有的 就是在url重定位的时候再加两个参数,一个保存文本框数据,一个保存Grid页数
 在detail的Pagelode中加一个判断  看是否是master返回的  你可以判断返回的参数是否为null来确定 如果是重master返回的 就给对应的textbox赋值  和根据页数设定Datagrid的currentpageindex 重新帮定Datagrid
你就不能在新窗口中打开Detail吗,干啥非要在一个窗口内呢。

或者做一个框架,上面显示Master,下面显示Detail。
Oceanson(洋之光)

  在Datagrid中的超连接字段,我要怎样把DataGrid的当前页值和搜索文本框的值传过去啊!
啊 还没弄好呀     有很多方法可以在网页之间传递数据   使用带参数的重定向是一个比较传统的方法     具体如下
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等 网上有很多资源的:)
To:Oceanson(洋之光)

  谢谢你耐心的指教,我现在试试,我也试了用Session等保存参数,但我的程序不止一个页面带搜索功能,如果用Session,当用户到另一页面时,本来搜索里面是没有的,也变成有了,因为我每个页面都是相同的标签啊!如TXTSearch,如果你的方法可行,我一定马上给加分.
To:Oceanson(洋之光)
  对了,我是在Datagrid中的超连接传参数,按你的方法不行啊!DataNavigateUrlFormatString="DG_view.aspx?No={0}后面怎样加你的参数啊!帮帮我
有点不明白你的意思了   你是想一页 一页 又 一页的返回 每一页都保存原来的状态吗?
程序是人编的 虽然感觉不太值得在这上面花很多代码和精力 session和application都是
可序列化object对象。你可以用数组 也可以用哈系表   记录你从开始进入到退出所有的
页面信息  通过标页面标号 在表中查找你要的那一页信息 读入页面   具体是比较烦琐的
很抱歉 我有新的任务了 没时间帮你写一遍  
》》》》DataNavigateUrlFormatString="DG_view.aspx?No={0}后面怎样加你的参数
序列占位符{0}我没在传送时用过   用变量可以传  想我上面的写法一样  两个以上参数
之间用&
你可以使用Session传值,在返回master页的时候,付值给搜索文本框,再清除Session的值,就可以啦!页次也一样啊!试试吧!

有人在抵制北京奥运,投票去 有人在抵制北京奥运,投票去 有人在抵制北京奥运,投票去 分组后怎么求记录总数 有人在抵制北京奥运,投票去 有人在抵制北京奥运,投票去 初学VC出现错误提示fatal error C1083: Cannot open include file \'graphics.h\' 请问该怎么办? 有人在抵制北京奥运,投票去 如何将多个数值转成字符串连接到一起? 有人在抵制北京奥运,投票去 各位大侠 StreamReader读文件问题 程序的人生意义 有人在抵制北京奥运,投票去 有人在抵制北京奥运,投票去 怎么在单文档上实现抽屉菜单?哪有源玛呀? 有人在抵制北京奥运,投票去 c连接access的问题 关于BoundsChecker 有人在抵制北京奥运,投票去 视频实时采集问题 小心了!有人暗中煽动大众的情绪!请大家相互转告,对各种不实的消息要仔细辨别! 关于双缓存防闪烁的问题我用StretchDIBits在OnDraw函数里输出的图像 TO baihacker ,等等大侠,我有一个很弱智的问题? 有人在抵制北京奥运,投票去 求联想网站的产品展示的代码 vs 2008 打开项目出现的问题 windows server2008使用路由器的问题 有人在抵制北京奥运,投票去 GridView表格中有多个按钮,如何判定我按下的是哪一个?