我有一个使用单个页面的ASP.NET Web应用程序,但是使一些控件不可见,而其他控件在整个工作流程中都可见。这是一个相当简单的应用程序,这就是为什么它只使用一个页面。
我不确定当用户点击取消按钮或完成工作流程时如何重新加载页面。以下是有关应用程序工作流程的一些详细信息......
我想要的是,当用户点击取消,时钟输入或时钟输出按钮(在回发后的任何其他处理之后),页面再次加载新会话并再次显示主要LoginTable就好像用户已重新启动浏览器并首次打开该页面。
我尝试过使用Session.Abandon(),然后在Global.asax的Session_End事件中,我做了 的Response.Redirect( “的Login.aspx”);
但这不起作用;它仍然只是重新加载页面的相同视图。
如何重新加载页面(不刷新页面),就好像它是第一次访问(即不是回发)?
另外,我是ASP.NET的新手,所以如果我误解了会话的工作原理,请告诉我。
答案 0 :(得分:1)
您是否尝试过Response.Redirect() - 将用户转到同一页面?这应该加载页面,就好像它是一个新页面。它不会丢失会话数据。
答案 1 :(得分:1)
我不确定你能按照你描述的方式做到这一点。但是,您可以做的是将标志作为会话变量。称之为IsFirstComer
。我不确定您的系统的工作流程如何,但每次新用户登录(尚未启动工作流程)或退出工作流程时,您都可以将其重置为true
(需要重新开始),但是一旦用户启动了工作流程,您就将其设置为false
。然后可以通过IsFirstComer
的值控制您的控件行为。
答案 2 :(得分:0)
您是否在if(!this.IsPostback)
方法中写了Page_Load
,然后再尝试“Response.Redirect(page.aspx)
”。