<asp:DataList ID="FriendBasicDataList" runat="server">
                        <ItemTemplate>
                            <dd>
                                <img src="../../<%#Eval("fm")%>" width="240" height="297" alt="lovegw"/></dd>
                            <dt>
                                <div class="a3">
                                    <%#Eval ("pet_name") %>
                                    <span>
                       <asp:Image ID="yz_images" runat="server" />              
                                    </span>
                                </div>
我想在后台使用 <asp:Image ID="yz_images" runat="server" />       的ID名
如果实现?本人知道用循环可以,尽量不要用foreach循环的办法。

解决方案 »

  1.   

    LZ 是要找到这个image? 用findcontrol试试
      

  2.   

    ITEMDATABOULD中findcontrol
    foreach(DataListItem item in datalist1.Items)
    {
    item.FindCntrol("")
    }
      

  3.   


    我是想在后台用<asp:Image ID="yz_images" runat="server" />的imageurl的方法
      

  4.   

    这个是最常用的涩 其他的 你就只有 用foreach 来判断它是否是 image 控件 如果是 就取它的ID 来比对,比较麻烦 
      

  5.   


    iamge控件不是有这个方法吗? yz_images.ImageUrl
    现在在datalist里面。所以我想在后台用到这个Image控件的ImageUrl方法
      

  6.   

    你只说“我想使用ID名”,这个信息太少,反而把自己的路堵死了,所以难以回答。DataList如果绑定50行数据,就有50个ID为yz_images的Image控件,你要哪一个?你把自己的需求提到一个极其狭窄的、没有应用的份儿上,本来真正的编程根本不用考虑这个东西,可以可能别人也无法告诉你该怎样编程。多“开放”一步,说出你要用它来接下来要干什么,反而可以看明白该怎样编程。
      

  7.   


    也就是在后台的效果如下列这种方法,有没有其他方法,应为我觉得foreach效率不高
    foreach(DataListItem item in datalist1.Items)
    {
    item.FindCntrol("")
    }
      

  8.   

    如果是要遍历的话,那只能用FOREACH如果是通过本行中的按钮,来对本行作什么操作的话,我觉得可以给COMMANDNAME之类的东西加上一个行号,这样操作时就不用遍历了
      

  9.   

    for和foreach哪个效率高不知道反正肯定得遍历完整个datalist的items,理论上循环的次数是一样的
    如果设置imageurl不如在后台写方法
    public string SetImage(参数1,参数2....)
    {
       ....
    }
    然后在前台用
    imageurl='<%#SetImage(...)%>'
      

  10.   


    那顺便请问。<asp:Repeater的foreach遍历怎么写?foreach(DataListItem item in datalist1.Items)
    {
    item.FindCntrol("")
    }
      

  11.   

    code
    <script   language= "javascript "> 
    function   DivShow() 

            alert( "dddd "); 
            var   div=document.getElementById( "div1 "); 
            if(div.style.display   = "none ") 
            { 
                    div.style.display   = "none " 
            } 
            else 
            { 
                    div.style.display   = "none " 
            } 
    } </script> 
    datalist 
      <asp:DataList   ID= "DataList1 "   runat= "server "   BorderStyle= "Dotted "   
                    onitemdatabound= "DataList1_ItemDataBound "> 
                    
                    <ItemTemplate> 
                            <table> 
                                    <tr                                         <td> <asp:LinkButton   ID= "link1 "   runat= "server "   Text= "show "> </asp:LinkButton> </td> 
                                            <td>   <div   id= "div1 "> 
                            aaaaashow   
                            </div> 
                            </td> 
                                    </tr> 
                                    
                            </table> 
                    </ItemTemplate> 
            </asp:DataList> 后台:
    protected   void   DataList1_ItemDataBound(object   sender,   DataListItemEventArgs   e) 
            { 
                    LinkButton   link   =   (LinkButton)e.Item.FindControl( "link1 "); 
                    link.Attributes.Add( "onclick ",   "javescript:DivShow() "); 
            } 
      

  12.   

    foreach(RepeaterItem item in repeater1.Items)
    {
    item.FindCntrol("")
    }
    ....应该是这样。我习惯用for..
    for(int i=0;i<repeater1.Items.Count;i++)
    {
       Control ctrl=repeater1.Items[i].FindControl("");
    }
      

  13.   


    应该是foreach(RepeaterItem item in Repeater1.Items)吧?你试试