c# - 在回发时从视图状态替换动态控件
问题描述
我有两个根据单选按钮列表选择生成的动态控件,它们在回发时保留它们的值,但是,当我更改为另一个控件类型时,我在视图状态树上收到错误,因为它需要另一个对象类型。当我更改类型时,有没有办法可以从视图状态中删除前一个对象?
这是一个简化的代码示例,以便于检查
if (rblFilter.SelectedValue == "1")
{
var object1 = new object();
holder.Controls.Add(object1);
}
else
{
var object2 = new object();
holder.Controls.Add(object2);
}
我得到的错误如下
“加载视图状态失败。正在加载视图状态的控件树必须与之前请求期间用于保存视图状态的控件树匹配。例如,动态添加控件时,回发期间添加的控件必须匹配在初始请求期间添加的控件的类型和位置。”
解决方案
推荐阅读
- wordpress - “添加帖子”有时会覆盖以前的帖子 Wordpress
- api - 如何在登台服务器上保持 GraphQL API 和前端同步?
- sql-server - 创建表关系而不将它们链接到主键/唯一
- python - 返回 None 的多边形之间的 OGR 交集方法
- javascript - Is there a way to search for a sub-string inside a string with newline (\n) symbols?
- r - 如何使用 metaMDS() 获得“物种分数”以进行排序?
- java - 如何在 DateTime-Pattern 中设置前导零可选
- python - Scatter plot change plot output when more scatters are added
- python-3.x - 如何使用有条件的增量计数再次循环相同的列表
- django - Django:向用户发送电子邮件