1

我正在尝试序列化和反序列化事件验证存储。我已经使用 MSDN 上的代码对视图状态执行相同的操作。我似乎无法从 EventValidation 对象中获取数据。

System.Web.UI.LosFormatter los = new System.Web.UI.LosFormatter();
var t = los.Deserialize("/wEdAAXD48AAvF6Ff7P5UOQbT3VqkrDKlMWdnNXfGOHHYL4xn7VF+rYDddmo2pWyOYlEzR9ytSa0+vS8Kw5xkFTTwf/ogY5mU3PIFIVTnINRkldVDi8fjE6FJuo5OYrccfM1phFxAalSeL3MjHSQK44wYPDs")
HashSet<object> h = new HashSet<object>();
foreach (object d in t)
{
   DoSomething()
}

System.Web.UI.EventValidationStore 是对象类型(?)

我曾尝试使用哈希集、列表等。我对此并不陌生,这超出了我所知道的范围,但我很想学习它。

我得到的错误是:“foreach 语句不能对 'object' 类型的变量进行操作,因为 'object' 不包含 'GetEnumerator' 的公共定义”

我在 MSDN 上找不到任何关于 System.Web.UI.EventValidationStore 的信息。

如果这是一个令人困惑的帖子,我深表歉意,我只是不知道如何问它。

更新: 我成功反序列化了一个 EventValidation base64 字符串,但其他人被证明是难以捉摸的。代码段中的那个似乎不起作用。

摘要:我需要能够在 .NET 中对 eventvalidation base64 字符串进行解码/反序列化和编码/序列化。

4

1 回答 1

0

__EVENTVALIDATION字段结构是 ASP.NET 内部的,可能会发生变化。不支持尝试反序列化/序列化它。支持的交互方式是通过页面ValidateEventRegisterForEventValidationAPI。

你到底想完成什么?也许我们可以找到一种支持的方式来做到这一点。

于 2013-01-20T19:51:45.337 回答