我有一个使用单个页面的 ASP.NET Web 应用程序,但在整个工作流程中使某些控件不可见,而其他控件则可见。这是一个相当简单的应用程序,这就是它只使用一个页面的原因。
我不确定当用户单击取消按钮或完成工作流程时如何重新加载页面。以下是有关应用程序工作流程的一些详细信息...
- 该页面加载并显示一个 LoginTable 控件,其中包含一个包含员工姓名的下拉列表、一个用于输入所选员工的密码的密码键盘和一个登录按钮。
- 单击登录按钮时,将在验证 pin 的位置进行回发,如果有效,则包含大部分页面内容(标题除外)的 Table 控件将变为不可见,并且新的 Table 控件将根据当前设置变为可见状态(打卡或打卡)。
- 此时,无论是ClockInTable 还是ClockOutTable 控件都是可见的,而LoginTable 控件是不可见的。用户可以单击“取消”按钮或“打卡/打卡”按钮(如果打卡,还可以选择其他一些东西,例如工作地点和工作)。
我想要的是,当用户单击“取消”、“打卡”或“打卡”按钮(在回发的任何其他处理之后)时,页面再次加载新会话并再次显示主 LoginTable,就像用户有重新启动浏览器并第一次打开该页面。
我试过使用 Session.Abandon(),然后在 Global.asax Session_End 事件中,我做 Response.Redirect("Login.aspx");
但这不起作用;它仍然只是重新加载页面的相同视图。
你如何重新加载页面(不刷新页面),就好像它是第一次访问(即不是回发)?
另外,我是 ASP.NET 的新手,所以如果我误解了会话的工作原理,请告诉我。