【问题标题】:Controlling layout of dynamically added controls in asp:panel在 asp:panel 中控制动态添加控件的布局
【发布时间】:2011-06-20 14:55:28
【问题描述】:

我正在向面板中添加一系列 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

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

谢谢, 帕特里克

【问题讨论】:

    标签: asp.net


    【解决方案1】:

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

    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】:

      您可以在每个包含&lt;br /&gt; 的文本框之后添加一个“关闭”文字 或者您可以在每一行之前添加一个“开头”文字(&lt;div&gt;)和一个结尾文字(&lt;/div&gt;

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-09-07
          • 2010-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-03-29
          • 2017-01-10
          相关资源
          最近更新 更多