请教关于页面保存状态

t0h 2005-03-23 04:47:32
由页面A redirect到 页面B

再由页面B 跳转回 页面A

这时候要回复第一次掉转时页面A的状态

请教要怎么做啊? 现在是用SESSION保存的 有简单的办法吗
...全文
204 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
t0h 2005-04-01
  • 打赏
  • 举报
回复
up
t0h 2005-03-26
  • 打赏
  • 举报
回复
up
t0h 2005-03-25
  • 打赏
  • 举报
回复
To:回复人: minghui000(我是肥仔)

如果我在B页面做了一些postback的交互,这种办法似乎就不可以了
看看要就发发 2005-03-24
  • 打赏
  • 举报
回复
楼上的详细点

study.
t0h 2005-03-24
  • 打赏
  • 举报
回复
是否可以,我跳转之前,保存页面的viewstate,跳回来,把viewstate附值回来。然后由.net自己对各个控件附值。
snowszygq 2005-03-24
  • 打赏
  • 举报
回复
帮你顶
t0h 2005-03-24
  • 打赏
  • 举报
回复
To: adminyao(程序傻子)

能用panel的地方,现在有一部分就是用panel做的。
但有的时候,我要从自己的页面跳到其他模块去,然后再回来。
adminyao 2005-03-24
  • 打赏
  • 举报
回复
用两个panel吧!
一个panel是一个页面,设置它的Visible
syeerzy 2005-03-24
  • 打赏
  • 举报
回复
楼上的方法是我一直使用的页面传值方法,不过说的不全面,就这么做的话得不到值的。要加2个不可缺的步骤。不过不是这里该讨论的问题。因为楼主要的“回去再回来”保存状态似乎这种做法不见的比Session好。

回去再回来保存状态,我觉得反正就是保存起来,怎么保存方便怎么保存,至于Session之类的,只要记得使用完马上让它null,也不见得就那么要紧了。
lovelxj 2005-03-24
  • 打赏
  • 举报
回复
网上吵来的 我没有试 你可以试试 好象是cheryy... 哥们的
(3)直接读取server.transfer过来的页面上的数据
前面2个就不说了,大家都知道怎么用,后面一个可能用的人比较少,这里做一下介绍。
Web 窗体页是应用程序中的类,因此可以向处理任何类一样为它们创建属性。但是,由于 Web 窗体页实际上仅在执行页的过程中存在,它们的生命周期非常短。因此,Web 窗体页上属性的用途相当有限,因为它们仅在处理页的过程中存在。但是,如果使用特定的技术将控件从一页传递到另一页,后一页仍可以访问前一页上的属性。
比如现在在一个webform页面上(page.aspx)放置了一个label,在
private void Page_Load(object sender, System.EventArgs e)
{
this.Label1.Text="test";
}
我们设定了它的值,再为这个页面类设定一个公开的属性
public Label lab
{
get
{
return Label1;
}
}
返回的就是这个页面上的一个Label
然后在这个页面上放置一个按钮,按钮的click事件中添加如下代码
Server.Transfer("newpage.aspx");
在newpage.aspx中同样放置一个Label标签,用来显示前一个页面那个Label的值,然后在Page_Load里面加上如下代码
if (!IsPostBack)
{
newpage p=(newpage)Context.Handler;
this.Label1.Text="传过来的值是:"+p.lab.Text;
}

我们运行这个程序,点击按钮,发现出现值传过来了,但是浏览器的url显示的还是原来的page.aspx,说明server.transfer是不改变浏览器的url的,其实这说明此事件仅仅是在服务器端完成,并没有到客户端,这也就是为什么能在无状态的http下得到前面一个页面的数据的原因,如果你换成response.redirect,你是不能得到任何东西的。分析一下上面的代码newpage p=(newpage)Context.Handler的意思就是创建源页类的实例变量,然后可以向其分配 HTTP 对象(IHttpHandler类的一个实例),即接收初始请求的对象。这样传值的好处在于不像session一样使用内存,特别适合大数据的情况(其实这不能称传值),坏处只能是同一个服务器页面之间,而且url并没有改变,用户看了可能会糊涂。

对程序你可以进一步改进,我们现在传的是一个Label的实例,你可以在页面间传递所有对象,甚至你可以直接使用前面一个页面的DataGrid!


minghui000 2005-03-24
  • 打赏
  • 举报
回复
<script language="javascript">
history.back(-1);
</script>
t0h 2005-03-24
  • 打赏
  • 举报
回复
up
t0h 2005-03-23
  • 打赏
  • 举报
回复
TO:jhqjhq(逗号)

A页面中有N多textbox,drpdownlist,grid之类
需要在跳转到B后,并在B中执行N多与服务器交互的操作
再返回到A

这时要保证用户看到,跳转到B之前,A页面的样子。

jhqjhq 2005-03-23
  • 打赏
  • 举报
回复
在a中增加一个 服务器控件用来保存数据,
如果数据少的话,
t0h 2005-03-23
  • 打赏
  • 举报
回复
To:oop80(RedSky)

如果我在B页面做了一些postback的交互,这种办法似乎就不可以了
oop80 2005-03-23
  • 打赏
  • 举报
回复
javascript:history.back(-2)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧