0

基本上,在客户端控件中,我正在调用查询以从表中获取一些数据,并根据输出创建按钮并将它们从后面的代码添加到 ASP:Panel

这些按钮有一个 CSS 流向左邻接另一个,而不是将它们显示为彼此下方的块。

CSS

.button_red2 
{   background:url('../../images/button_red_left.gif') no-repeat left top;  display:block;  font-size:12px;     font-weight:bold;   line-height:16px;   height:21px;    padding-left:9px; 
    padding-top:0px;  margin-bottom :2px;   text-decoration:none;   border-style:none;  color:White; width:auto;    overflow:visible ;   float:left;}
.button_red2  span
{   background:transparent url('../../images/button_red.gif') no-repeat top right; 
    padding:3px 10px 2px 0px;   border-style:none;  display:block ;}

在代码隐藏中

                Dim locationdt = sqlDMLhelper.ExecuteQueryDT(String.Format("select distinct City from {2}{1}{2} where Staff_FK='{0}' order by City ASC", staffID, "EUS-Customer", ControlChars.Quote), cerr)

                If Not locationdt.Rows.Count = 0 Then
                    For i = 0 To locationdt.Rows.Count - 1
                        Dim Sitename = locationdt.Rows(i).Item(0)

                        Dim thebutton = New LiteralControl(" <button ID='Button'" & i & " runat='server' class='button_red2' onclick='ClickedSite(""" & Sitename & """);' type='button'> <span> " & Sitename & "</span> </button> ")
                        DrilldownPanel.Controls.Add(thebutton)
                    Next
                    
                End If

在 aspx 中

<h1> Drill Down Per Site </h1>
<div style="display:block; padding-top: 5px; " ></div>
  <asp:Panel ID="DrilldownPanel" runat="server" Height="21" > 
</asp:Panel>

我可以安全地指定高度 21,因为我将始终拥有至少一个按钮。

在此处输入图像描述 容器本身设置为 600 像素宽度。

我想知道是否有一种方法可以动态设置“DrilDownPanel”的高度值,因为

  1. 我不知道我将拥有多少个位置(至少 1 个),
  2. 位置的名称将持续多长时间以及它们在什么时候开始溢出到下一行。

哪些工具可用于循环浏览该面板的集合项以查看我有多少“行”,从而在渲染开始之前动态调整高度。

还是不可能?

4

2 回答 2

0

如果将面板高度设置为“自动”,则应根据内容进行调整。

于 2013-08-27T22:07:23.847 回答
0

这给了我 CSS 浮动的想法——我如何将它们保持在一条线上?

<asp:UpdatePanel ID="UP1" runat="server" >
 <ContentTemplate>
   <div class="dataBlockPurple " id="DelegationID" runat="server" 
     style="height:auto">
    <div style="width:auto;  padding-bottom:2px;">  </div> 
     <h1> Drill Down Per Site </h1>
     <div style="display:block; padding-top: 5px; " ></div>
     <asp:Panel ID="DrilldownPanel" runat="server"> </asp:Panel>
    <div style="clear: both;"></div>
   </div>
</ContentTemplate>

<div style="clear: both;"></div> 在面板下添加了它,它可以工作。

于 2013-08-29T09:57:33.397 回答