2012-03-31 4 views
0

У меня есть placholder, что я просто не хочу использовать Visible = "false", потому что он оставляет некоторое пространство на странице. Я не хочу резервирования пространства. Как я могу это сделать? Может быть, использовать что-то?дисплей: нет; на заполнитель?

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

Codebehind:

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

Вы пытались поместить свой номер заполнителя внутри 'if'? –

ответ

1

A PlaceHolder не отображает тег - это просто контейнер для других элементов управления сервером. Таким образом, нет тега, на котором вы можете установить display:none.

0

элементы с отображением стиля CSS: Ни один не занимают никакого пространства. если вы примените его к div.prodImagesBorder, то должен полностью скрыть этот элемент.