我在坚持中在回发视图状态的控制(vb.net)视图状态回发
这里找到一些问题后不会保留的一些代码我把我的控制已经:
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
Me.EnableViewState = True
Me.ViewStateMode = System.Web.UI.ViewStateMode.Enabled
If Not Page.IsPostBack Then
_SortTime = DateTime.Now
_SortTime.AddSeconds(-10) ' incase the fileserver and webserver date are out of sync
ViewState("PageLoadTimeStamp") = _SortTime
End If
End Sub
onload:
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
_SortTime = CType(ViewState("PageLoadTimeStamp"), DateTime)
End Sub
但是在每次回发时,viewstate都是空的。
更新:我想要做什么? 我想存储用户第一次加载页面的时间。然后,用户将做多个回发。在每一次回传中,我都需要知道那个时间。
更新2:上下文:
- ASPX页(Editor.aspx)将加载一个网络控制(ObjectsEditor.ascx)动态地
- ObjectsEditor.ascx包含单个定制控制的(对象.vb)
- Objects.vb将创建另一个自定义控件(ObjectsContainer.vb)并将其添加到它的控件中 ObjectsContainer需要保持视图状态。
我将EnableViewState =“true”设置为无处不在,但仍无结果。我真的需要在这里设置这些属性吗? (ViewStateMode和EnableViewState)如果不是,我应该在哪里处理这些以及这些属性之间的区别是什么?
非常感谢。
好的。我将把load viewstate部分移动到onload上。我会在一分钟之内通知你。 – ThdK 2012-03-21 10:12:45
我将+1链接到msdn :) – ThdK 2012-03-21 10:14:33
它不适用于将加载视图状态移动到onload方法。你有另一个想法可以帮助我吗? – ThdK 2012-03-21 12:11:10