我有一个生产系统,它有一个按钮可以在不同的网站上使用报价系统。按钮调用
Response.Redirect("https://www.???????.com/program/EditQuote.aspx?QuoteNumber=" & Trim(txtQuoteNum.Text), False)
第一次完美运行,但之后(如果我关闭打开的选项卡),目标页面会出现页面中缺少的几乎所有数据,这些数据应该已经加载到该页面的page_load事件中。这是page_load事件中的代码
If Not IsPostBack Then
If Request.QueryString("QuoteNumber") IsNot Nothing AndAlso IsNumeric(Request.QueryString("QuoteNumber")) Then
Session("LoadQuoteNumber") = Request.QueryString("QuoteNumber")
End If
End If
它再次运行的唯一方法是关闭浏览器并重新开始。它适用于我在localhost上的dev机器,因此我不知道如何尝试跟踪调试此类问题的情况,这种情况只发生在生产环境中。
答案 0 :(得分:0)
问题是代码背后的以下代码:
Private _refreshState As Boolean
Private _isRefresh As Boolean
Protected Overrides Sub LoadViewState(ByVal savedState As Object)
Dim AllStates As Object() = savedState
MyBase.LoadViewState(AllStates(0))
_refreshState = Boolean.Parse(AllStates(1))
_isRefresh = _refreshState = Session("__ISREFRESH")
End Sub
Protected Overrides Function SaveViewState() As Object
Session("__ISREFRESH") = _refreshState
Dim AllStates() As Object = New Object(2) {}
AllStates(0) = MyBase.SaveViewState
AllStates(1) = Not (_refreshState)
Return AllStates
End Function
用于解决用户刷新页面时遇到的问题。这里给出的文章是代码:http://www.codeproject.com/Articles/10240/Detecting-Page-Refresh