Serenity
Serenity

Reputation: 5098

How do you set href attribute of anchor tag that is within a repeater in code behind?

normally on would use the following :-

aspx page:-

<a ID="a1" href="javascript:void(0);">Link1 </a>

code behind:-

a1.HRef="www.mySite.com/mypage.aspx";

how do u set this HRef attribute in case the anchor tag is within a repeater ?

Upvotes: 1

Views: 35120

Answers (4)

Dan Dumitru
Dan Dumitru

Reputation: 5423

For example, in the ItemDatabound event:

protected void rptData_ItemDataBound(object source, RepeaterCommandEventArgs e)
{
    HtmlAnchor a1 = (HtmlAnchor)e.Item.FindControl("a1");
    a1.HRef = "www.mySite.com/mypage.aspx";
}

Also, don't forget to put runat="server" on that anchor

<a ID="a1" runat="server" href="javascript:void(0);">Link1 </a>

Upvotes: 11

G&#244;T&#244;
G&#244;T&#244;

Reputation: 8053

You can do it in the event ItemDatabound of your repeater:

((HtmlAnchor)e.Item.FindControl("a1")).HRef = "www.mySite.com/mypage.aspx";

Upvotes: 2

Muhammad Akhtar
Muhammad Akhtar

Reputation: 52241

First you need to make your control server side by putting runat="Server"

    <a runat="Server" ID="a1" href="javascript:void(0);">Link1 </a>

protected void rptOuter_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {
       // Find your anchor here
    }
}

Upvotes: 2

Kulvis
Kulvis

Reputation: 655

You can do this in the ItemDatabound event.

Check out: http://www.codeguru.com/csharp/.net/net_asp/tutorials/article.php/c12065

Upvotes: 2

Related Questions