-1

Welp,我现在很沮丧.. 部分原因是我是 asp 新手,这看起来很简单,我无法让它工作,但在 vb 中有几次。

我自愿为客户进行了一次简单的网络表单调查,并且一直坚持为问题创建动态控件/标签。问题的数量会有所不同,因此我不想每次都更改此网络表单。

我在第 6、8 和 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 是否允许这样做,如果允许,我缺少什么。

谢谢!

4

1 回答 1

0

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

于 2012-06-26T22:40:52.960 回答