2017-08-11 9 views
0

リピーターのLinkBut​​ton内にイメージを取得しようとしていて、イメージSrcを変更したいが、イメージUI側が変更されない。リピーターAsp.NetのLinkBut​​ton内のイメージソースを変更する方法C#

HTMLコード:

<asp:Repeater ID="Repeater" runat="server" OnItemCommand="Repeater_ItemCommand" > 
      <HeaderTemplate> 
       <table c> 
        <tr> 
         <th>           
          <asp:LinkButton ID="lbtnC1" CommandName="Col1" runat="server">Column1 <asp:Image id="imgStamp" ClientIDMode="AutoID" runat="server" style="vertical-align:middle;padding-left:3px" /></asp:LinkButton> 
         </thalign> 
          <th> 
           <asp:LinkButton ID="lbtnC2" runat="server" 
            CommandName="Col2">Column2 <asp:Image id="imgStamp" ClientIDMode="AutoID" runat="server" style="vertical-align:middle;padding-left:3px" /></asp:LinkButton></th> 
        </tr> 
      </HeaderTemplate> 
      <ItemTemplate> 
       <tr> 
        <td> 
         <asp:Literal ID="C1Value" runat="server" /> 
        </td> 
        <td> 
         <asp:Literal ID="C2Value" runat="server" /> 
        </td> 
       </tr> 
      </ItemTemplate> 
      <FooterTemplate> 
       </table>          
      </FooterTemplate> 
    </asp:Repeater> 

C#のイベント

protected void Repeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
    { 
     LinkButton linkButton = e.CommandSource as LinkButton; 
     HtmlImage image = linkButton.Controls[0] as HtmlImage; 
     if (e.CommandName == "Col1") 
     { 
      image.Src = Page.ResolveUrl("~/arrow-down-white.gif"); 
     } 
    } 

答えて

0

これを行うことで、私は自分の問題を解決することができます。

protected void Repeater_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 
    Image imgStamp = Repeater.Controls[0].Controls[0].FindControl("imgStamp") as Image; 
    imgStamp.ImageUrl = Page.ResolveUrl("URL"); 
} 
0

HtmlImage image = linkButton.Controls[1] as HtmlImage;

に変更し、それを私が最初のコントロールがリテラルであること(ただし100%を確認してください)と考えています。

+0

linkBut​​ton.Controlsには1つのアイテムしか含まれていないため、適用されません。私はイメージコントロールを見つけることができますが、イメージソースを変更した後、UI側でイメージが変化しません。 – Ravikumar

+0

これは、[[1] 'を使用していて、' [0] 'では使用できません... – VDWWD

+0

イメージコントロールはインデックスにあり、UIではイメージソースは変更できません。 – Ravikumar

関連する問題