gpt4 book ai didi

c# - 将 [ViewStateModeById] 功能应用于标准的动态 ASP.net 控件

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

总体而言,我是 ASP.net、ViewState 和 C# 的新手。

我有一些代码可以添加和删除 bool 约束,稍后将作为 SQL 查询提交。我使用唯一 ID 动态创建这些约束。当我删除之前添加到其他约束之前的约束时,viewstate 会尝试将已删除的 DropDownList 的内容映射到紧靠其下方的 DropDownList。

这又会触发索引更改事件并导致应用程序出现不良行为。我相当确定这种行为是由于 ViewState 通过索引将回发数据加载到动态创建的控件中引起的。

我一直在寻找 [ViewStateModeById] 的解决方案作为可能的解决方案。不幸的是,这似乎只适用于自定义控件。我想避免为所有内容创建新的自定义控件只是为了按 ID 对控件进行索引。

有没有办法在不创建自定义控件的情况下获得此功能?

我应该提到每个动态生成的约束(这是一组大约 5 个控件)都在一个动态生成的面板中。我可以继续创建空面板作为一种占位符来获得我想要的行为,但这只是一种 hack。除非我实现另一个 hack 以偶尔删除我的一些面板,否则我最终会得到很多很多面板。

最佳答案

在我得到它之前,我一直在努力处理 View 状态。这不是一个真正的答案,但在使用 View 状态时,创建的动态控件在每次回发后获得完全相同的 id 非常重要。这意味着您必须重新创建/重新绑定(bind)每个帖子包上的所有内容。

如果是这样,如果您出现奇怪的行为,我会感到惊讶,并且您应该能够像桌面应用程序一样编写代码。

关于c# - 将 [ViewStateModeById] 功能应用于标准的动态 ASP.net 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9335024/

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