首先,感谢您的阅读。ASP.NET在重定向和回发之间传递值
我会尽我所能描述我的情况。
我有一个页面,用户可以留言。 这里的评论流程
- A-1。点击'评论'按钮
- A-2。使用ajaxtoolkit中的ModalPopupExtender显示带有文本框的模式弹出窗口。
- A-3。用户在文本框中键入评论,然后单击“确定”。
但是,当用户未登录时,预期的行为会发生变化。
- B-1。点击'评论'按钮
- B-2。显示登录模式弹出式窗口,编号为& pwd文本框。
- B-3。用户类型ID & pwd,然后单击确定。
- B-4。评论模式弹出显示
- B-5。用户输入评论并单击确定。
我有处理这种情况的问题。
当B-3发生时,页面被回发,我登录用户,更新会话对象,并且我将Response.Rediect()页面显示给自己以显示正确的登录状态(我必须... )。 重定向后,在Page_Load()中,我需要检查一些值以显示Comment-Modal-Popup。 但我不知道如何..
这里就是我认为
- 的ViewState
- 我只是不能使用它,因为页面被重定向没有调回。
- 查询字符串
- 我可以重定向时添加 “showCommentPopup = 1” 的网址,但会留下不必要的查询字符串URL中。我不希望用户滥用它。
- 会议
- 我实际使用Session对象。在重定向之前,我将Session [“ShowCommentPopup”]设置为true。在Page_Load()中,如果它已设置,我将其删除并显示弹出窗口。
使用会话像我一样不正确,当用户打开同一个页面中的多个标签的工作。
- 用户打开两个选项卡(在Firefox)与相同的URL
- 用户跟随在第一凸片从B-1至B-3步骤。
- 在页面被重定向到B-3和B-4之前,用户刷新第二个选项卡。
- 如果时机正确,则在第二个选项卡中显示注释弹出窗口。
我希望听到来自计算器有着深刻的见解..
为什么你*有*重定向到处理登录?通常情况下,如果您已经提示输入姓名和密码,则无需重定向即可。 – Thorarin 2009-08-02 16:12:39
你是对的,我可以在不重定向的情况下处理登录。它显示正确的登录状态,我不能这样做..该页面使用黑盒控件来显示登录状态,并且它只显示页面重定向后正确的登录状态..... – wooohoh 2009-08-02 16:43:04