控制asp:panel中动态添加控件的布局

时间:2011-02-03 11:49:04

标签: asp.net

我在下面的代码中添加了一系列asp:literal和asp:textbox控件到面板(最终的目的是根据用户只添加一些控件):

    With Me.pnl1
        Controls.Add(FirstLiteral)
        Controls.Add(FirstTxtBox)
        Controls.Add(SecondLiteral)
        Controls.Add(SecondTxtBox)
        Controls.Add(ThirdLiteral)
        Controls.Add(ThirdTxtBox)
    End With

目的是让每个控件都在自己的行上,但是我得到了这样的混合布局:

FirstLiteral
FirstTxtbox SecondLiteral
SecondTxtbox thirdLiteral
thirdtxtbox

如何控制面板的渲染方式,最好不必创建自定义控件?

谢谢, 帕特里克

3 个答案:

答案 0 :(得分:4)

对于添加的每个控件,您必须添加类似

的内容
pnl.Controls.Add(new LiteralControl("<br/>"));

答案 1 :(得分:0)

你可以在文字中添加标记:

Private Sub doSearchPanel()
        LitTxtUsername.Text = GetLocalResourceObject("TxtUsernameResource1.text") + "<br/>"
        ltNameSearch.Text = "<br/>" + GetLocalResourceObject("ltNameSearch.text") + "<br/>"
        ltGroupSearch.Text = "<br/>" + GetLocalResourceObject("ltGroupSearch.text") + "<br/>"
        'With Me.pnlSearch
        Me.pnlSearch.Controls.Add(Me.LitTxtUsername)
        Me.pnlSearch.Controls.Add(Me.txtMatch)
        Me.pnlSearch.Controls.Add(Me.ltNameSearch)
        Me.pnlSearch.Controls.Add(Me.txtNameSearch)
        Me.pnlSearch.Controls.Add(Me.ltGroupSearch)
        Me.pnlSearch.Controls.Add(Me.txtGroupSearch)
        'End With
    End Sub

答案 2 :(得分:0)

您可以在包含<br />的每个文本框后添加“结束”文字 或者您可以在每行(<div>)和结束行(</div>)之前添加“开头”文字