考虑这个 -
我允许最终用户通过获取一些详细信息在 ASP.Net 页面中动态创建选项卡控件。对于添加的每个选项卡,我都会得到一些设置 -
- 标签标题
- 标签内容
- 标签页脚链接
所以我得到了每个选项卡的这些详细信息。为用户提供了一个按钮“添加标签”到更多标签。所以我需要在页面中多添加一个标签设置面板来获取标签设置。但是这样做,我丢失了在先前创建的动态选项卡设置面板中输入的值。用户可以添加尽可能多的选项卡并为每个选项卡输入设置。最后,当他们保存它时,我构建选项卡控件(基于他们的设置和内容)并呈现该控件。
由于控件是动态的,我有两个选择 -
- 在添加第 n 个选项卡时重新创建之前创建的 n - 1 个选项卡设置面板。因此,在每次回传中,我需要为每个选项卡重新创 build 置面板。但我不知道如何在这种情况下保持值(value)观。
- 在客户端添加带有简单 html 控件的设置面板,并在页面 UnLoad 上解析控件 -> 解析设置 -> 将其保存在隐藏字段中 -> 在服务器端获取它。在这种情况下,我失去了我需要为控件编写验证脚本的所有服务器端功能。
关于如何更好地执行此操作的任何见解?
最佳答案
我会在服务器端添加控件,请记住您需要 re-create all controls on every postback
您可以保存需要在 View 状态中创建的任何控件的详细信息,然后根据 CreateChildControls 中的内容构建控件树。
关于c# - 动态创建控件并跨回发保存控件值 - ASP.Net C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5432413/