我在我的ASP.NET页面中使用向导,在用户从DropDownList中选择的第一步中,将在下一个向导步骤中显示多少组控件(从1-5开始)。
例如,在向导的第2步中有3个文本框。如果他们在前一个屏幕上选择2,那么将有6个,因为将有2套这些。
我需要能够将所有这些文本框的内容存储在数据库中(简单的部分我认为,有5列,所有文本框都可以为空。
这样做的简单方法我认为只是创建所有可能的控件(5套),并根据他们在上一个屏幕中选择的内容隐藏它们。是否有更有效/更容易的方式?
由于
答案 0 :(得分:1)
这实际上取决于您对高效/简单的定义 更标准的方法是使用repeater control根据先前的输入显示正确数量的控件。但是,如果您没有使用转发器控件,那么在回发期间显示输出和检索用户输入将涉及一定程度的学习。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果你绝对知道5个盒子是最大的,并且不太可能有更多,那么在服务器控件及其接口项目(例如Control.Visible
)上使用label
或什么是其他的,会工作...... 但是......
但是,解决方案有点脆弱;如果您决定添加更多可能的框,则需要在几个地方更改手动代码。
动态解决方案可让您在config中设置最大数量的选项,或者只在代码中设置一个位置。它可能需要您稍微更改一下数据库结构,但无论如何,这对于规范化可能会更好。它还涉及在向导步骤中动态生成项目。
(如果需要,可以提供有关该选项的更多信息!)