动态添加标签不起作用

时间:2011-05-26 19:28:29

标签: asp.net vb.net dynamic

我正在尝试动态创建个人资料页面。一切正常,除非我尝试将标题(由<h2>标签包围)添加到插入select语句的lbl控件中。如果这太混乱了,请告诉我,我会尝试进一步解释。

案例陈述的要点是为特定职位创建“1”标题。

    mydiv = New System.Web.UI.HtmlControls.HtmlGenericControl("DIV")
    tble.Rows.Add(trow)
    tCell = New TableCell
    tCell.ColumnSpan = 2
    tCell.BackColor = Drawing.Color.Tan
    trow.Cells.Add(tCell)

    Select Case aUsers(x).Title
        Case 1
            If title <> "Members" Then
                title = "Members"
            End If
        Case 2
            If title <> "Treasurer" Then
                title = "Treasurer"
            End If
        Case 3
            If title <> "Secretary" Then
                title = "Secretary"
            End If
        Case 4
            If title <> "Membership Committee" Then
                title = "Membership Committee"
            End If
        Case 5
            If title <> "Vice President" Then
                title = "Vice President"
            End If
        Case 6
            If title <> "President" Then
                title = "President"
            End If
        Case Else
    End Select
    mydiv.InnerHtml = "<h2>" & title & "</h2>"
    tCell.Controls.Add(mydiv)
    trow = New TableRow
    tCell = New TableCell
    mydiv = New System.Web.UI.HtmlControls.HtmlGenericControl("DIV")

    tble.Rows.Add(trow)

3 个答案:

答案 0 :(得分:1)

如果我没有读错你的代码,看起来你在案例中创建了一个标签实例并设置了文本,但是对于你的第二行你使用相同的实例并设置了text属性。 设置新行和单元格时需要设置lbl = New Label。

答案 1 :(得分:0)

不要使用标签控件,因为这会写入span标记,而不是块级元素,而H *标记是。 Html不允许非块元素中的块级元素。请改用Literal控件。这只会呈现您指定的文本(可以是html)

试试这个结构:

<td>
<h2>Name</h2>
<div class='bio'>
{bio}
</div>
</td>

也避免使用BR和中心标签进行定位/样式化。将其推迟到CSS,例如:

.bio {
  padding-top:10px
  text-align:center;
}

答案 2 :(得分:0)

我会完全回避标签并为标签分配一个css类。在CSS文件中,对h2和新类使用相同的样式。

轻微切线:这是数据绑定吗?看起来你有一些动态数据通过,这让我觉得它可能来自一个可绑定的来源。如果是这样,有什么理由不使用数据绑定控件?