大家好!我想在Repeater控件中置入Image控件,并在页面放个显示隐藏图片按钮控制Repeater控件中Image图片显隐,我该怎么做?我加入Panel控件控制Image显隐,当按钮按下时Panel1.visible=false,来实现,但VS调试结果竟然是找不到Panel1控件,Repeater控件里面的Image控件中的Visible属性怎么引用呢?求教!谢谢大家!  
 
效果如图所示:http://img614.photo.163.com/gostiy/4465032/1910509906.jpg  
 
<asp:button  id="hidden"  runat="server"  Text="显示/隐藏图片"></asp:button>  
<asp:repeater  id="Repeater1"  runat="server">  
<ItemTemplate>  
<table>  
           <TR>  
           <td>                                                                                                  
                   <asp:Panel  id="Panel1"  runat="server">          
}                            <asp:Image  id="Image1"  ImageUrl="Picture/C.jpg"  runat="server">  
                             </asp:Image>  
                   </asp:Panel>  
                 </td>                                                                                                            </ItemTemplate>  
           <HeaderTemplate>              
    </HeaderTemplate>  
    </asp:repeater>  
           <FooterTemplate>  
           </tr>  
           </table>  
           </FooterTemplate>

解决方案 »

  1.   

    当然显示没有啦,
    用findcontrol
    (控件名) lab = (控件名)repeater.Items[i].FindControl("控件ID");要第几行的,i就用几这样就能找到Repeater中的控件了。
      

  2.   

    这样当然是不行的了,在repeater  里Panel1的ID早就更改了,一个页面上是不可以有相同控件名称的。
    你可以用脚本来实现。var isShow = "none";
    function checkAllorNot()
    {
    var self = event.srcElement;
    var form = document.forms[0];
    var ele;
    var iLen = form.elements.length;
    for(var i=0;i<iLen;i++)
    {
    ele = form.elements[i];
    if(ele.type != null && ele.type.toLowerCase() == "image")
    {
       ele.style.display  = isShow;
    }
    }
            isShow = isShow == "none"?"block":"none";
    }