这是aspx页面的一些代码。 我不确定我是否应该使用公共变量或viewState
Partial Class madeUpName
Inherits System.Web.UI.Page
Public vin As String = ""
Public stk As String = ""
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'inside of here i use the variables
end sub
Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload
'inside of here I also use the same variables
end sub
我应该在我的班级中为页面使用viewState变量还是公共变量?看起来他们都达到了同样的目的。
答案 0 :(得分:3)
如果希望值在回发之间保持不变,请使用ViewState
。
如果值只需要在页面的生命周期内存在,那么常规变量就可以了。
答案 1 :(得分:1)
ViewState
用于在PostBacks
之间保留WebForm的状态。如果您希望从WebForm中获取值到您的代码后面,那么请使用ViewState
值,否则您可以使用SessionState
或根据您尝试访问的数据,您可以使用{{ 1}}甚至Cookies
。每个QueryString
都会重置公共变量,除非您将其值保存在PostBack
或ViewState
等...
更多信息:
答案 2 :(得分:1)
如果信息不是非常敏感,您可以将它们存储在隐藏的输入中:
<input type="hidden" name="myvar" value="123" />
我更倾向于把东西放在ViewState
中。此外,您可以创建访问器,以便以后轻松访问这些值(请原谅我的C#语法):
public int MyValue
{
get { return int.Parse(Request["myvar"]); }
}
当你可以在你的班级中使用它时,如属性。
否则,您可以将内容放入ViewState
(类似)
public int MyValue
{
get { return int.Parse(ViewState["myvar"]); }
}