gpt4 book ai didi

asp.net - 找到 2 个具有非唯一 id #__VIEWSTATE 的元素

转载 作者:行者123 更新时间:2023-12-02 02:53:07 26 4
gpt4 key购买 nike

我正在处理一个旧的 ASP.NET 应用程序,它在一个网页上呈现两个表单。每个表单都实现了自己的 __VIEWSTATE field 。

由于 Chrome v63 重复的字段名称会在控制台中引发错误:

Found 2 elements with non-unique id #__VIEWSTATE



我无法重写应用程序以删除重复的表单。是否有另一种方法来重命名 __VIEWSTATE领域,或其他一些解决方法?

最佳答案

Page类有两种方法可以保存和加载 View 状态。通过覆盖这两种方法并将它们设置为使用另一个隐藏文件,您可以重命名 __VIEWSTATE对于那个页面。

您可以这样做:

public partial class SamplePage : Page
{
const string ViewStateHiddenFiledName = "_VIEWSTATE_Page1";

protected override void SavePageStateToPersistenceMedium(object viewState)
{
LosFormatter los = new LosFormatter();
StringWriter writer = new StringWriter();

los.Serialize(writer, viewState);

string serilizedViewState = writer.ToString();

ClientScript.RegisterHiddenField(ViewStateHiddenFiledName, serilizedViewState);
}

protected override object LoadPageStateFromPersistenceMedium()
{
string serilizedViewState = Request.Form[ViewStateHiddenFiledName];
if (serilizedViewState != "")
{
LosFormatter los = new LosFormatter();
return los.Deserialize(serilizedViewState);
}
return null;
}
}

关于asp.net - 找到 2 个具有非唯一 id #__VIEWSTATE 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51096958/

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