gpt4 book ai didi

c# - 在 C# 中访问 __VIEWSTATE 和 __EVENTVALIDATION

转载 作者:太空宇宙 更新时间:2023-11-03 11:15:33 24 4
gpt4 key购买 nike

ASP.NET , 是否有可能将 __VIEWSTATE 和 __EVENTVALIDATION 隐藏字段的值获取到 C#(服务器端)中的变量中,比方说,重写 Render 方法?

我试过:

protected override void Render(HtmlTextWriter writer)
{
StringBuilder stringBuilder = new StringBuilder();
StringWriter stringWriter = new StringWriter(stringBuilder);
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);

base.Render(htmlWriter);
string temp = stringBuilder.ToString();
}

这为我提供了整个 ASP.NET 输出。我们可以使用字符串函数获取值,但我没有发现它是一个非常干净的解决方案。有更好的方法吗?

我真正想要的是发出第一个请求时的 __VIEWSTATE 和 __EVENTVALIDATION 的值,而不是回传完成后的值。那是在发出第一个请求时形成输出流的时间。

最佳答案

如果您使用 Reflector 查看 Page 类,您会看到这些隐藏字段是在渲染阶段创建的(查看方法 RenderViewStateFields EndFormRenderHiddenFields).

您可能可以使用反射获取部分/全部数据(例如内部属性 Page.ClientState)。

但我不认为有一个干净的解决方案(尽管老实说我不太明白你想要实现的目标)。

关于c# - 在 C# 中访问 __VIEWSTATE 和 __EVENTVALIDATION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12786199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com