动态创建控件并在回发中保存控件值 - ASP.Net C#

NLV*_*NLV 5 c# asp.net dynamic-controls

考虑一下 -

我允许最终用户通过获取一些细节在ASP.Net页面中动态创建选项卡控件.对于添加的每个标签,我都会得到一些设置 -

  1. 标签标题
  2. 标签内容
  3. 标签页脚链接

所以我得到每个标签的这些细节.用户向另外一个选项卡提供了一个"添加标签"按钮.因此,我需要在页面中添加一个标签设置面板以获取标签设置.但是这样做,我丢失了先前创建的动态标签设置面板中输入的值.用户可以添加任意数量的选项卡,并为每个选项卡输入设置.最后,当他们保存它时,我构建了tab控件(基于他们的设置和内容),然后我渲染控件.

由于控件是动态的,我可以选择两种方式 -

  1. 添加第n个选项卡时,重新创建先前创建的n - 1选项卡设置面板.因此,在每个回发中,我需要为每个选项卡重新创建设置面板.但我不知道如何坚持这种情况下的价值观.
  2. 使用简单的html控件在客户端添加设置面板,并在页面上UnLoad解析控件 - >解析设置 - >将其保存在隐藏字段中 - >在服务器端获取它.在这种情况下,我失去了所有服务器端功能,我需要为控件编写验证脚本.

有关如何更好地做到这一点的任何见解?

Ric*_*end 2

我会在服务器端添加控件,只需记住您需要在每次回发时重新创建所有控件

您可以保存需要在视图状态中创建的任何控件的详细信息,然后在CreateChildControls中构建控件树