ASP.NET 4.0 Webform网站
母版页:左侧面板(导航菜单用途):使用UpdatePanel控件(AJAX),因此当选择新菜单时,整个页面不会重新加载。将仅更新内容部分。
我的问题是--我希望能够使用浏览器的back按钮返回到上一个菜单(保存了表单状态)。然而,当查看视图状态时,它总是相同的。有没有办法做到这一点?谢谢。
发布于 2011-03-30 12:40:03
我想一种解决办法是,当用户从菜单中选择一个菜单项时,将该选择放入会话变量和页面加载中。然后,当用户单击浏览器的后退按钮时,您可以在页面加载中设置菜单,因为您的会话变量中有值。
发布于 2013-03-17 01:32:41
pst所指的是“跨页发布”。
在源页面上,您需要将asp按钮的postbackurl设置为目标页面的url。
在目标页面c# onload方法中,将page.previouspage设置为源页面。检查上一页的帖子是否是交叉帖子。
如果为true,则获取zource页面的视图状态。
如何从目标页面访问源页面的viewstate?在转到目标页之前,将源页的视图状态保存在源页中。将视图状态保存在源页面上的asp隐藏变量中,然后使用previouspage.findcontrol(“变量名”)在目标页面中获取它。
获取源页的视图状态后,将其保存在目标页上的asp隐藏变量中。
当您想要返回源页时,在某种程度上,您将以相反的方式执行上述所有操作。
“返回上一页”链接按钮将使用POSTBACKURL值的源页面url。
在源页的onload c#方法中,将page.previouspage url设置为目标页的url。检查上一页的帖子是否是跨页帖子。
如果为true,则在源页面中(从目标页面返回后)使用previouspage.findcontrol("savedSourcePageViewstate")获取保存的源页面的视图状态。
我还不确定如何将源页面的视图状态更改为保存的视图状态。实际上,你可能需要在目标页面的button页面按钮的click处理程序中执行此操作。
我现在正致力于在一个我正在开发的项目中开发这个过程。
当我让它工作时,我将为此创建一个完整的演练,并使用代码示例,并在此处发布到演练的链接。
但是,我已经完成了从目标页面中的源页面获取数据的跨页面发布过程。
它是安全的,也是我在asp.net webforms应用程序中遇到的将数据从一个页面转移到另一个页面的最佳方法。
https://stackoverflow.com/questions/5481650
复制相似问题