c# – 如何以编程方式将ASP.NET页面重新加载为新会话,就好像首次访问该页面一样

我有一个使用单个页面的ASP.NET Web应用程序,但是使一些控件不可见,而其他控件在整个工作流程中都可见.这是一个相当简单的应用程序,这就是为什么它只使用一个页面.

我不确定当用户点击取消按钮或完成工作流程时如何重新加载页面.以下是有关应用程序工作流程的一些细节……

>页面加载并显示一个LoginTable控件,其中包含一个带有员工姓名的下拉列表,一个为所选员工输入一个密码的pinpad,以及一个登录按钮.
>单击登录按钮时,会发生回传,其中引脚已经过验证,如果有效,则包含大部分页面内容(标题除外)的Table控件将变为不可见,并且新的Table控件将变为可见,具体取决于当前状态(进入或退出).
>此时,可以看到ClockInTable或ClockOutTable控件,并且LoginTable控件是不可见的.用户可以单击“取消”按钮或“时钟输入/输出”按钮(如果计时,还可以选择其他一些内容,例如工作现场和工作).

我想要的是,当用户点击取消,时钟输入或时钟输出按钮(在回发后的任何其他处理之后),页面再次加载新会话并再次显示主要的LoginTable,就像用户有重新启动浏览器并首次打开页面.

我尝试过使用Session.Abandon(),然后在Global.asax的Session_End事件中,我这样做了
    的Response.Redirect( “的Login.aspx”);

但这不起作用;它仍然只是重新加载页面的相同视图.

如何重新加载页面(不刷新页面),就好像它是第一次访问(即不是回发)?

另外,我是ASP.NET的新手,所以如果我误解会话的工作方式,请告诉我.

最佳答案 您是否尝试过Response.Redirect() – 将用户转到同一页面?这应该加载页面,就好像它是一个新页面.它不会丢失会话数据.

点赞