【问题标题】:Create labels dynamicly on ASP.NET (VB)在 ASP.NET (VB) 上动态创建标签
【发布时间】:2010-06-17 06:58:12
【问题描述】:

我想在我的页面dynamicly 中创建标签,例如用户将choose 在文本框中显示标签的数量,我将使用 .text = "XYZ" 显示此标签的数量。

谢谢。

【问题讨论】:

    标签: asp.net vb.net


    【解决方案1】:

    快速而肮脏的方法(本示例将 10 个标签和文字添加到 ASP.NET 页面上的 PlaceHolder:

    Dim c As Integer = 0
    While c < 10
        Dim lab As New Label()
        Dim ltr As New Literal()
        lab.Text = c.ToString()
        ltr.Text = "<br/>"
        PlaceHolder1.Controls.Add(lab)
        PlaceHolder1.Controls.Add(ltr)
        C+=1
    End While
    

    【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      要完成这项工作需要做很多事情,但要简单地动态创建控件并将它们添加到页面,您需要在 ASPX 页面上使用Placeholder

      <asp:TextBox ID="txtLabelCount" runat="server" />
      <asp:Button ID="btnCreate" runat="server" Text="Create" /><br />
      <asp:Placeholder ID="PlaceHolder1" runat="server" />
      

      那么,在btnCreate的点击事件处理器中:

      ' Number of labels to create. txtLabelCount should be validated to ensure only integers are passed into it
      Dim labelCount As Integer = txtLabelCount.Text
      
      For i As Integer = 0 To labelCount - 1
          ' Create the label control and set its text attribute
          Dim Label1 As New Label
          Label1.Text = "XYZ"
      
          Dim Literal1 As New Literal
          Literal1.Text = "<br />"
      
          ' Add the control to the placeholder
          PlaceHolder1.Controls.Add(Label1)
          PlaceHolder1.Controls.Add(Literal1)
      Next
      

      【讨论】:

      • @AZIRAR - 抱歉,忘记了。只需在标签后添加一个文本设置为&lt;br /&gt; 的新文字。我已经修改了我的答案以显示这一点。顺便说一下,&lt;br&gt; 的 XHTML 方式是&lt;br /&gt;
      猜你喜欢
      • 2011-09-29
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 1970-01-01
      相关资源
      最近更新 更多