Welp,我现在很沮丧..部分是因为我是asp的新手,这似乎很简单,我不能让它工作,但有几次vb。
我已经自愿为客户进行简单的网络形式调查,我一直坚持为问题创建动态控件/标签。问题的数量会有所不同,所以我不想每次都改变这个网页形式。
我在6,8和6号线上磕磕绊绊10:QuestionLabel1.Text = SQLRead.GetString(0) 我宁愿做这样的事情: QuestionLabel(cntr).Text = SQLRead.GetString(0) 要么 (“QuestionLabel”& cntr).Text = SQLRead.GetString(0) 甚至 Me.Controls.Add(“QuestionLabel”& cntr)
For cntr = 1 To 5
Dim QuestionLabel As New Label()
Dim Panel1 As New Panel()
Me.Controls.Add(QuestionLabel)
QuestionLabel.ID = "QuestionBox" & cntr
QuestionLabel1.Text = SQLRead.GetString(0)
SQLRead.Read()
QuestionLabel2.Text = SQLRead.GetString(0)
SQLRead.Read()
QuestionLabel3.Text = SQLRead.GetString(0)
我知道语法是错误的,但我希望你们能看一遍,了解我想要完成的事情并告诉我asp.net是否允许这样做,如果是的话我是什么丢失。
谢谢!
答案 0 :(得分:0)
假设您正在使用.ascx作为客户端脚本,使用vb.net作为代码隐藏。您应该考虑使用Repeater控件。它专门为这样的事情设计(动态添加控件)。这种架构可以让你 使用您已有的知识来创建SQL语句,并将其与a组合 相对简单的ASP方法。