2012-03-31 90 views
0

我有一个placholder,我不只是想使用Visible =“false”,因为它保留了页面上的一些空间。我不希望预留空间。我怎样才能做到这一点?也许使用一些事情?display:none;在占位符上?

<asp:DataList ID="ImageList" runat="server" RepeatDirection="Horizontal" EditItemStyle-VerticalAlign="Top" 
      RepeatColumns="4">   
      <ItemTemplate> 
      <asp:PlaceHolder ID="phImage" runat="server" Visible="false"> 
       <div class="prodImagesBorder"> "SOME STUFF with auto length and width" 
        <div class="prodImages"> "SOME STUFF" 
         <div class="thumbnail"> "SOME STUFF" 

         </div> 
        </div> 
       </div> 
       </asp:PlaceHolder> 
      </ItemTemplate> 
     </asp:DataList> 

代码隐藏:

if(ImageTabel.Rows[i]["ImgUrl"].ToString() != lblOldImgUrl.Text) 
         { 
          PlaceHolder phImage = (PlaceHolder)ImageList.Items[i].FindControl("phImage"); 
          phImage.Visible=true; 
         } 
+0

你有没有试过把你的服饰占位符放在'if'里面? – 2012-03-31 15:43:37

回答

1

A PlaceHolder不呈现标记 - 它只是其他服务器控件的容器。所以没有可以设置的标签display:none

0

元素与CSS样式显示:没有人会不占用空间。如果你将它应用到div.prodImagesBorder,它应该应该完全隐藏该元素。