回发后视图状态不保留

2024-01-02

我在保持控件回发时的视图状态时遇到一些问题(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

但在每次回发时,视图状态再次为空。

Update: 我想做什么? 我想存储用户第一次加载页面的时间。然后,用户将进行多次回发。每次回发时我都需要知道那个时间。

更新2:语境:

  • aspx 页面 (Editor.aspx) 将动态加载 Web 控件 (Objects Editor.ascx)
  • ObjectsEditor.ascx 包含单个自定义控件 (Objects.vb)
  • Objects.vb 将创建另一个自定义控件 (ObjectsContainer.vb) 并将其添加到其控件中 需要持久化视图状态的是ObjectsContainer。

我在任何可以设置的地方设置 EnableViewState = "true",但仍然没有结果。我真的需要在这里设置这些属性吗? (ViewStateMode 和 EnableViewState)如果不是,我应该在哪里处理这个问题,这些属性之间有什么区别?

非常感谢。


我在这里看到了一些正确的答案,但我没有看到任何详细的解释,所以我想我应该插话:

ASP.NET 具有相当复杂的请求/响应生命周期。每个周期都会经历一组事件,例如Init, Load等。根据本文 https://msdn.microsoft.com/en-us/library/ms178472.aspx,特别是这个图片 https://msdn.microsoft.com/dynimg/IC386473.png,有一个方法叫做TrackViewState()之后执行的Init事件但之前InitComplete事件。这意味着任何更改ViewState如果它们是在Init像OP所做的那样的事件。

还有一个额外的方法叫做LoadViewState()这需要ViewState通过发布的数据__VIEWSTATE形成值并将其加载到当前ViewState收藏。这在之后执行InitComplete事件但之前PreLoad事件。意味着值已经设置为ViewState before LoadViewState()执行可能会被覆盖。

现在,知道这两个事件何时发生,并知道ViewState在它们之前和之后执行的持久化方法,我们可以推断出最早可以安全设置的事件ViewState价值观是PreLoad事件。在此事件之前设置的值可能会被覆盖,因此不会保留。

因此,要回答您的问题,请设置您的ViewState值在OnPreLoad()方法或按照其他人的建议进行操作并在OnLoad()方法和你的价值观应该坚持下去。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

回发后视图状态不保留 的相关文章

  • 使用编译时编织进行依赖注入? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我只是想了解 PostSharp 老实说我认为它太棒了 但有一件事对我来说很难如何纯依赖注入 不是服务定位器 无法完成 https cod
  • 计算从给定日期开始的月份中的第几天?

    我正在努力寻找一种简单有效的解决方案来计算每月的工作日 例如 如果给定日期是第一个星期一Monday 5th March 2018然后我想获取接下来 6 个月每个月第一个星期一的日期 例如 Monday 2nd April 2018 and
  • 在 VB.NET 中 a = b = 5 - 不可能吗?

    VB NET 中可以这样做吗a b 5 我知道 也是比较运算符 我的意思是做not结果 例如 如果 b 2 a false b 2 然而 在下面的情况下该怎么做呢 不方便在我的代码中引起了这个问题 一些对象a b z由方法中的 ref 传递
  • ELMAH 将其数据保存在哪里?

    我刚刚安装了 ELMAH MVC 更多信息here http nuget org packages Elmah MVC 并且想知道其数据保存在哪里 我读到您可以选择设置数据库进行存储 但似乎默认安装使用 内存中 它是如何工作的 如果我回收应
  • InvalidOperationException:无法解析类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务

    我开始将我的 asp net core RC1 项目转换为 RC2 并面临现在的问题IHttpContextAccessor没有解决 为了简单起见 我使用 Visual Studio 模板创建了新的 ASP NET RC2 项目ASP NE
  • C# 枚举 - 根据掩码检查标志

    我有以下枚举标志 Flags private enum MemoryProtection uint None 0x000 NoAccess 0x001 ReadOnly 0x002 ReadWrite 0x004 WriteCopy 0x0
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 为什么WCF中不允许方法重载?

    假设这是一个ServiceContract ServiceContract public interface MyService OperationContract int Sum int x int y OperationContract
  • 我应该如何在 VB.NET 中进行转换?

    所有这些都相等吗 在什么情况下我应该选择其中一个而不是其他 var ToString CStr 变量 CType 变量 字符串 DirectCast 变量 字符串 编辑 来自的建议不是我自己 https stackoverflow com
  • 设置 runat=server 时输入名称和 id 发生变化

    在我的表单中 我需要插入 文本 类型的不同输入 输入必须是带有名称和 ID 的 html 控件 因为我将此表单发送到外部网址 对于验证 我在所有输入中执行 runat server 然后我可以使用 requiredfieldvalidato
  • 反序列化嵌套类时不需要 xmlns=''

    我在尝试在服务器上序列化类 将其发送到客户端并在目标上反序列化时遇到问题 在服务器上我有以下两个类 XmlRoot StatusUpdate public class GameStatusUpdate public GameStatusUp
  • 文件显示在 Visual Studio 的解决方案资源管理器中,并带有快捷方式图标。这意味着什么?

    我已经下载了FParsec的库源代码 所有文件都带有快捷方式符号 这是什么意思 当该项目添加到该项目时 它被添加为链接Project gt Add Existing Item gt Add as Link 该文件很可能托管在目录结构中的另一
  • 强制 Mpeg2 解复用器使用 ffdshow 渲染 H 264 数字电视视频

    不幸的是 我花了很多时间尝试使 DirectShow 的 DTVViewer 示例正常工作 但没有成功 DVBT网络的视频格式是H264 我发现IntelliConnect行为IFilterGraph更喜欢使用 Mpeg2 视频格式 对于那
  • 在 VB.Net 中将字节数组转换为整数

    我想知道在 vb net 中将字节数组 长度 4 转换为整数的最佳方法是什么 我知道 BitConverter 但执行函数调用来执行应该可以通过复制 4 字节内存来完成的操作似乎相当浪费 同样 将单 双精度数从二进制表示形式转换为单 双精度
  • 如何为从源文件编译的应用程序分配自定义图标?

    在我的程序中 我使用 CSharpCodeProvider 来从源文件编译另一个应用程序 我使用的代码如下 public static bool CompileExecutable String sourceName FileInfo so
  • 序列包含多个元素

    我在通过 Linq 获取 RhsTruck 类型的列表并显示它们时遇到一些问题 RhsTruck 只有属性 品牌 型号 序列号 等 RhsCustomer 具有 CustomerName CustomerAddress 等属性 我不断收到错
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • 是否有类似 String#scan 的函数,但返回 MatchDatas 数组?

    我需要一个函数来返回字符串中正则表达式的所有匹配项and找到匹配项的位置 我想突出显示字符串中的匹配项 String match 返回 MatchData 但仅适用于第一个匹配项 有没有比类似的方法更好的方法 matches begin m
  • 使用 NSBezierPath 的 NSView 上的圆角绘制得很糟糕

    在我的 ViewController 的主 NSView 中 我重写了func drawRect dirtyRect NSRect 使用在我的主视图上实现圆角的方法NSBezierPath 用同样的方法 我还指定主视图的渐变背景 overr
  • Python 只读取文本文件的最后一行

    我正在尝试从文本文件中读取 2 个 IP 地址并连接这些设备并在这些设备上运行 conf t 命令 当我尝试通过以下编码来完成这项工作时 python 仅读取文本文件中的最后一行 而不读取第一行 我应该怎么办 谢谢 import param
  • 使用字符串值创建新实例

    我有几个课程 SomeClass1 SomeClass2 如何使用字符串中的类名创建这些类之一的新实例 通常 我会这样做 var someClass1 new SomeClass1 如何从以下内容创建此实例 var className So
  • 对象引用与函数调用相同

    UserDetail functionCheck NSString str UserDetail d2 UserDetail alloc init NSLog check address gt p d2 d2 auth token str
  • R引导错误中的Phylo相关图?

    我正在尝试根据我的数据创建一个系统相关图phyloCorrelogram来自phylosignal包以测试系统发育信号的存在 我的数据在所谓的phylo4d格式并被称为tree 现在 当我跑步时phyloCorrelogram tree 我
  • 可以将 firestore 查询表示为字符串

    可以表示一个CollectionReference作为具有 getter 属性的字符串path 这对于单元测试来说非常方便 例如admin firestore collection cities doc LA path回报 cities L
  • Android/Python 如何使用RSA和PKCS1 Padding验证签名SHA256

    我是新会员 我等了两天才找到解决方案验证从android客户端到python服务器的签名 首先 我创建密钥对并从私钥生成签名 谢谢 pedrofb 我已经更新了完整的代码 验证在 python 服务器中完成 protected void o
  • 无法解析的标识符 - SKErrorPaymentCancelled [重复]

    这个问题在这里已经有答案了 昨天 随着 iOS 9 3 和 OSX 10 11 4 包括 Swift 2 2 的发布 我更新到了最新版本的 Xcode 7 3 当我构建我的应用程序时 我收到一条错误消息Use of unresolved i
  • 如何创建一个采用默认值的 CMake 变量,除非显式覆盖?

    我有一个使用 CMake 构建的 C 项目 我希望 CMakeLists txt 中的构建配置能够构建在Release默认模式 并内置Debug仅当明确指定时才模式 参考this https cmake org cmake help v3
  • Objective C - 如何编写宏

    我需要编写一个多行宏 我需要这个 因为我必须有部分代码已 粘贴 到我的代码中的特定点 我怎样才能做到这一点 从你的问题中并不清楚你真正想要什么 但是一个简单的多行宏定义如下 define FOO something something el
  • MS SQL:通过包含新表中的附加列来更改索引视图

    我需要通过包含新创建的表中的附加列值来更新现有的 MS SQL 索引视图 索引视图 CREATE OR ALTER VIEW dbo MySelectionInfo WITH schemabinding AS SELECT C Id id0
  • 在精灵上制作滚动视图锁定并放大它

    参考我之前的问题 Swift 2 0 SpriteKit 滚动视图不使用页面 https stackoverflow com questions 34849615 swift 2 0 spritekit scrollview to not
  • 如何使用 spring-boot gradle 插件进行混淆

    如何使用 Spring Boot 2 和 gradle 构建设置 proguard 混淆 你好 尝试使用其 gradle 插件和 Proguard gradle 插件设置 Spring Boot 应用程序的代码混淆 Google 主要为旧的
  • 安装工具平台特定依赖项

    有什么方法可以告诉 setuptools 或分发以在特定平台上需要包吗 在我的具体情况下 我使用readline 它是 Unix 系统上标准库的一部分 但在 Windows 上我需要pyreadline模块来替换该功能 参见这个问题 htt
  • 如何将wordpress中的下载网址路径更改为www.yoursite.com/download?

    我试图隐藏或缩短上传到 wp content uploads 文件夹的文件或图片的链接 默认情况下 在 WordPress 中 如果您上传图像 pdf 等并将其插入帖子或页面 它将具有如下链接 mysite com wp content u
  • 如何在代码隐藏中使用 Eval 来设置 Page.Title

    我有一个绑定到 ListView 控件的 SQLDataSource 但我想将部分绑定记录放入 HTML TITLE 属性中 这是我想要更改的代码隐藏文件 以便它可以使用 Eval 根据数据内容构建动态 TITLE Public Parti
  • 汇编 x86 中的 Math.h 库函数? [复制]

    这个问题在这里已经有答案了 我尝试将 Linux fedora 9 下编写的 C 代码转换为汇编 x86 代码 但是 我在 Math h 函数中遇到问题 该库中的函数 例如 ceil floor log log10 pow 在 x86 汇编
  • Java 中 volatile 关键字最简单易懂的示例

    我正在读关于volatileJava 中的关键字并完全理解其中的理论部分 但是 我正在寻找的是一个很好的案例 它展示了如果变量不存在会发生什么volatile如果是的话 下面的代码片段无法按预期工作 摘自here https stackov
  • 回发后视图状态不保留

    我在保持控件回发时的视图状态时遇到一些问题 vb net 这是我在控制中放入的一些代码 Protected Overrides Sub OnInit ByVal e As System EventArgs MyBase OnInit e M