0

私は asp.net フォームに追加した ListView を持っています。コードは以下のとおりです。

                    <asp:ListView runat="server" ID="ListView2" 
   GroupItemCount="1" onitemdatabound="ListView2_ItemDataBound">
               <LayoutTemplate>
                    <asp:PlaceHolder runat="server" ID="groupPlaceHolder"/>
                       </LayoutTemplate>
                        <GroupTemplate>
                          <asp:PlaceHolder runat="server" ID="itemPlaceHolder"/>
                        </GroupTemplate>
                        <ItemTemplate>
                          <div style="width: 200px; height: 220px; margin-left: 
                           230px; margin-top: -220px">
                                <a href='<%# GetAFTERburnDownloadHRef() %>'>
                                    <asp:Image ID="Image2" runat="server"   
                     ImageUrl="images/Download.jpg"/></a>
                          <img src="images/DownloadShadow.jpg"></div>
                        </ItemTemplate>
                        <GroupSeparatorTemplate>
                        </GroupSeparatorTemplate>
                        <EmptyDataTemplate>
                        </EmptyDataTemplate>
                    </asp:ListView>

これであるタゲがあります

<a href='<%# GetAFTERburnDownloadHRef() %>'>
                                <asp:Image ID="Image2" runat="server"   
                 ImageUrl="images/Download.jpg"/></a>

無料ユーザーと有料ユーザーをユーザータイプする必要があります実行時に値を変更したい

前払いユーザー価値テイクはこれになります

<a href='<%# GetAFTERburnDownloadHRef() %>'>
                                <asp:Image ID="Image2" runat="server"   
                 ImageUrl="images/Download.jpg"/></a>

そして、ユーザーログを解放してページにアクセスすると、このようなものが表示されるタグにいくつかのベルが追加されます

<a href='<%# GetAFTERburnDownloadHRef() %>' name="popupmodal">
                                    <asp:Image ID="Image2" runat="server"   
                     ImageUrl="images/Download.jpg"/></a>

私がやりたいこの変化。name="popupmodal"ListView2_ItemDataBound にコードで追加する方法を知りたい

protected void ListView2_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        Image Image2 = (Image)e.Item.FindControl("Image2");
        //come code here for get <a></a> tag to made this change I want 
        string PlanType = "free";
        if (PlanType == Globals.PlaneType.PlanOne)        
        {
            //here i want to add name="popupmodal" in <a></a> like this  
            //<a name="popupmodal"></a>
            Image2.ImageUrl = "~/images/LockDownload.JPG";
        }
        else
        {
            Image2.ImageUrl = "~/images/Download.JPG";
        }
    }

どんな仲間でも、これを行うにはどうすればよいか考えています。

4

1 に答える 1

0

アンカーをサーバー側コントロールとして設定し、その属性をコードで変更できます。マークアップは次のようになります。

<a id="popupmodal" runat="server" href='<%# GetAFTERburnDownloadHRef() %>' >
    <asp:Image ID="Image2" runat="server"   
        ImageUrl="images/Download.jpg"/>
</a>

そしてコードビハインドで:

protected void ListView2_ItemDataBound(object sender, ListViewItemEventArgs e)
{

    Image Image2 = (Image)e.Item.FindControl("Image2");
    //come code here for get <a></a> tag to made this change I want 
    string PlanType = "free";
    if (PlanType == Globals.PlaneType.PlanOne)            
    {
        HtmlAnchor popupmodal = (HtmlAnchor)e.Item.FindControl("popupmodal");
        //here i want to add name="popupmodal" in <a></a> like this  
        //<a name="popupmodal"></a>
        popupmodal.Attributes.Add("name", "popupmodal");               
        Image2.ImageUrl = "~/images/LockDownload.JPG";
    }
    else
    {
        Image2.ImageUrl = "~/images/Download.JPG";
    }
}
于 2013-08-31T04:39:58.110 に答える