Asp.net .net Viewstate可能会在哪些情况下停止工作?
考虑以下代码:Asp.net .net Viewstate可能会在哪些情况下停止工作?,asp.net,vb.net,viewstate,Asp.net,Vb.net,Viewstate,考虑以下代码: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init If Page.IsPostBack Then If ViewState("test") IsNot Nothing Then Response.Write((ViewState("test").ToString))
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
If Page.IsPostBack Then
If ViewState("test") IsNot Nothing Then
Response.Write((ViewState("test").ToString))
Else
Response.Write("Viewstate is empty.")
End If
Else
ViewState("test") = "viewstate is working."
End If
End Sub
此代码在我的应用程序中的特定页面上不起作用。Viewstate未在Page指令中关闭。我不知道发生了什么事\
哦,我刚想出来。看看你是否注意到了
.您也可以从配置文件中关闭viewstate
<configuration>
<appSettings>
<Pages EnableViewState="false" />
</appSettings>
</configuration>
您也可以从配置文件中关闭viewstate
<configuration>
<appSettings>
<Pages EnableViewState="false" />
</appSettings>
</configuration>
您确定要回发吗
它是否写“Viewstate为空”?还是什么都没有?您确定要回发吗
它是否写“Viewstate为空”?还是什么都没有?弄明白了,有人将Page\u Load事件更改为处理Page.Init
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
发现有人将Page_Load事件更改为处理Page.Init
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
因为你没有回复自己的帖子 我认为您正在错误的阶段检查iPostBack并访问ViewState:
Handles Me.Init
那应该是
Handles Me.Load
对吧?
对于在ASP.NET中调试这些令人头痛的问题,我还想补充一点,跟踪通常会有很大帮助 您可以通过将以下内容添加到web.config来启用跟踪:
<configuration>
<system.web>
<trace enabled="true" pageOutput="true" requestLimit="40" localOnly="false"/>
</system.web>
</configuration>
这将在每一页的末尾附加堆栈跟踪等等,这样您就可以跟踪执行情况并(希望)找出问题。因为您没有回答自己的帖子 我认为您正在错误的阶段检查iPostBack并访问ViewState:
Handles Me.Init
那应该是
Handles Me.Load
对吧?
对于在ASP.NET中调试这些令人头痛的问题,我还想补充一点,跟踪通常会有很大帮助 您可以通过将以下内容添加到web.config来启用跟踪:
<configuration>
<system.web>
<trace enabled="true" pageOutput="true" requestLimit="40" localOnly="false"/>
</system.web>
</configuration>
这将在每个页面的末尾追加堆栈跟踪等内容,这样您就可以跟踪执行情况并(希望)找出问题。在我的例子中,我是在page_Init上将数据写入ViewState。此数据在Page_Load和Page_PreRender上显示得很好,但在生命周期结束时未持久化到Page。回发后的视图状态为空
因此,请确保在Page_Init之后写入ViewState。在我的情况下,我是在Page_Init上将数据写入ViewState。此数据在Page_Load和Page_PreRender上显示得很好,但在生命周期结束时未持久化到Page。回发后的视图状态为空
因此,请确保您在页面初始化后写入ViewState。我假设您不工作是指点击:Response.write(“ViewState为空”)?ViewState隐藏字段是否在第一次获取时写入客户端?要删除此问题的尴尬,请回复您自己的帖子,而不是编辑您的帖子,并将您的回复标记为答案。:)我只是回答了,没想到你自己也回答了:)不,不要,这是给别人的一个很好的参考!我假设不工作意味着点击:Response.Write(“Viewstate为空”)?Viewstate隐藏字段是否在第一次获取时写入客户端?要删除此问题的尴尬,请回复您自己的帖子,而不是编辑您的帖子,并将您的回复标记为答案。:)我只是回答了,没想到你自己也回答了:)不,不要,这是给别人的一个很好的参考!我投了赞成票,但这不是viewsstate标记在页面上实际呈现的问题。我觉得我疯了。我投了赞成票,但这不是viewsstate标签在页面上呈现的问题。我觉得我快要疯了。