Solved

Add new Attributes at runtime to Repeater control

Posted on 2007-11-16
8
2,864 Views
Last Modified: 2012-06-27
After the datasource has been assigned to a repeater control, is it possible, in the C# code behind, to add attributes to certain LinkButtons (the repeater is a list of LinkButtons)?

LinkButton.Attributes.Add("onClick", "return confirm('Are you sure you want to delete this item (and sub items if this is a folder)?');");


but only on certain ones, not on all of them


Thanks!
0
Comment
Question by:Tom Knowlton
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4
8 Comments
 
LVL 16

Expert Comment

by:McExp
ID: 20302712
The simplest solution would be to replace your repeater of LinkButtons into a bullited list of LinkButtons, this will enable you to (from server side code) itterate over the BulitedList Controls item collection, see below for an example: -


    <asp:BulletedList ID="BulletedList1" runat="server" DisplayMode="LinkButton">
    </asp:BulletedList>
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 20304381
As long as I could still build it from a database that would be fine.

Not very familiar with a bulleted list or the  advantages over a repeater.

Why wouldn't a repeater work?
0
 
LVL 16

Expert Comment

by:McExp
ID: 20305533
Apologies, The BullitedList will not give you the functionality you require. It does give you a neat way of creating a list of link buttons however it doens't expose them to allow you to apply an on click function.

I'll work up an example using the Repeater class.
0
Salesforce Has Never Been Easier

Improve and reinforce salesforce training & adoption using WalkMe's digital adoption platform. Start saving on costly employee training by creating fast intuitive Walk-Thrus for Salesforce. Claim your Free Account Now

 
LVL 16

Accepted Solution

by:
McExp earned 500 total points
ID: 20305590
See the code below for an example of how to get access to your LinkButton during the ItemDataBound event
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<script runat="server">
 
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        string itemToProcess = e.CommandArgument.ToString();
        //Now Do Something?
    }
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        LinkButton lbTempTest = e.Item.FindControl("lbTesting") as LinkButton;
        lbTempTest.Attributes.Add("onClick", "return confirm('Are you sure you want to delete this item (and sub items if this is a folder)?');");
    }
 
</script>
 
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Main %>" ProviderName="<%$ ConnectionStrings:Main.ProviderName %>" SelectCommand="SELECT [TeamName], [TeamId] FROM [Teams]"></asp:SqlDataSource>
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="Repeater1_ItemCommand" OnItemDataBound="Repeater1_ItemDataBound">
    <ItemTemplate>
    <asp:LinkButton ID="lbTesting" CommandArgument='<%# Eval("TeamId") %>' runat="server"><%# Eval("TeamName") %></asp:LinkButton>
    </ItemTemplate>
    </asp:Repeater>
    </form>
</body>
</html>

Open in new window

0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 20306676
McExp:

Does your solution allow me to apply the Attribute to specific rows of the repeater?
0
 
LVL 16

Expert Comment

by:McExp
ID: 20307460
Yes, what is your criteria?

All you need to do is add a conditional statment around the  "lbTempTest.Attributes.Add" statment
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 20308269
I think my criteria will be based on LinkButton "Text"

If "LinkButton.Text == <some value>" then add attribute

That sort of thing.

I think what you have already provided me should be enough!!

I'll know for sure when I get in to work on Monday.

Tom
0
 
LVL 5

Author Comment

by:Tom Knowlton
ID: 20316526
For my future reference:

    protected void FirstUseStepsStatus_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        LinkButton lbTempTest = e.Item.FindControl("LinkButtonStep") as LinkButton;
        if (lbTempTest != null)
        {
            if (lbTempTest.CommandArgument == "2")
            {
                lbTempTest.Attributes.Add("onClick", "return confirm('Do you want to add another Debt Item?');");
            }
        }
    }
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Form Data Disappears Using Back Button 4 62
asp.net web app 3 54
Sending HTML Formatted Email from ASP.NET 2 50
ASP.NET VB code for check and insert in a table 4 40
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…
Suggested Courses

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question