动态控件的语法?在asp.net和vb.net中

时间:2012-06-26 22:10:39

标签: asp.net vb.net

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是否允许这样做,如果是的话我是什么丢失。

谢谢!

1 个答案:

答案 0 :(得分:0)

假设您正在使用.ascx作为客户端脚本,使用vb.net作为代码隐藏。您应该考虑使用Repeater控件。它专门为这样的事情设计(动态添加控件)。这种架构可以让你 使用您已有的知识来创建SQL语句,并将其与a组合 相对简单的ASP方法。