如何重新加载页面,我确保我在我的班级顶部声明的变量不会被重置。 IE我有一个最初设置为0的计数器,如果我使用回发控制它重置该变量我怎么去不在C#中发生这种情况?
答案 0 :(得分:5)
您是在寻找特定于客户端还是服务器的值?
如果您想要特定于客户端的内容,请使用cookie或会话值。
如果您正在查找特定于服务器的内容,请使用静态类,应用程序或缓存值。
答案 1 :(得分:1)
使用ASP.Net会话或Cookie。或者您可以将其值存储在隐藏字段中。您可以在article中阅读有关theese和outher选项的信息。
答案 2 :(得分:0)
将您要保存的值放入Cookie中。
答案 3 :(得分:0)
如果您使用的是回发,而不是链接,则应将数据保存到viewstate。
VB
Public Property MyValue() As String
Get
Dim _mv As Object = ViewState("MyValue")
If Not _mv Is Nothing Then
Return _mv.ToString
End If
Return String.Empty
End Get
Set(ByVal value As String)
ViewState("MyValue") = value
End Set
End Property
C#
public string MyValue {
get {
object _mv = ViewState("MyValue");
if ((_mv != null)) {
return _mv.ToString();
}
return string.Empty;
}
set { ViewState("MyValue") = value; }
}
如果您保留在当前页面上,ViewState将保存在PostBacks中。例如,如果您在page.aspx上并使用每次单击的<asp:button>
,则可以使用Viewstate作为保存某些数据的位置,它会在页面源代码中查找
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE4Mzg3MjEyMzdkZNNlI9zvMeIGeUB4MZbJA2gmsHns9IsmAy/c4dQMybXD" />
自动生成视图状态
答案 4 :(得分:0)
该数据不会在HTTP请求中保留;你需要将它保存在cookie,隐藏控件中,或者手动将它存储在视图状态。
如果您手动执行页面计数器,请考虑将其存储在会话状态中。