Create A RadiobuttonList with Images Asp.net 2.0

I am populating a radiobuttonlist from my database. I would like to add images by each radiobutton populated. Can someone show me how to do this?
npl77Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

guru_samiCommented:
How are you dataBinding your RBL?
Here is a link trying to do that:
http://aspdotnetcodebook.blogspot.com/2008/09/howto-display-radiobuttonlist-with.html

Other option is to use a DataBound Control like GV/Repeater and place a RadioButton and an Image Control.
0
npl77Author Commented:
Im not sure how to implement the example in the url. This is how I am populating the radiolist...

 if (!IsPostBack)
            {
                dt = BMHAccess.GetProducts();
                PopulateList(RadioButtonList1, dt);
               
            }
 
private void PopulateList(RadioButtonList list, DataTable products)
    {
        list.DataSource = products;
        list.DataTextField = "Name";
        list.DataValueField = "ProductId";
        list.DataBind();
 
    }

Open in new window

0
guru_samiCommented:
From where does the image come?
i.e. how do you get url to your image?
0
Amazon Web Services

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

npl77Author Commented:
I have the images folder in my application. I dont know if I should store them somehow in my db or what
0
guru_samiCommented:
Yes ..you will need some mapping between the images and corresponding products.
So say you have a column imageFileName in your DataTable then your PopulateList function should look like this:
 private void PopulateList(RadioButtonList list, DataTable dt)
    {
        for (int i = 0; i < dt.Rows.Count; i++)
        {
           // here 'images' corresponds to the folder in your application
            string imgsrc = "images/" + dt.Rows[i]["imageFileName"].ToString();;
            string value = dt.Rows[i]["ProductId"].ToString();
            list.Items.Add(new ListItem(String.Format("<img src=\"{0}\">", imgsrc), value));
        }
    }

Note: you cannot display the Name here.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
npl77Author Commented:
I cannot display the name? how can I display the name? I want it to look....
image "space" [ProductName]
0
npl77Author Commented:
ok I almost got it!
this displays correctly
 list.Items.Add(new ListItem(String.Format("<img src=\"{0}\">" +  " "+dt.Rows[i]["Name"].ToString(), imgsrc), value));

but now my string manipulation is wrong... because of this ("<img src=\"{0}\"> stuff can you help me fix this string manipulation to correspond witn what I got


        string sFormat = RadioButtonList1.SelectedItem.ToString();
        string[] nameprice;
        nameprice = sFormat.Split('-');
 
        btnTodaysSelections.ItemName = nameprice[0].TrimEnd();
        btnTodaysSelections.ItemNumber = RadioButtonList1.SelectedValue;
        btnTodaysSelections.Amount = decimal.Parse(nameprice[1].Substring(2));

Open in new window

0
guru_samiCommented:
Is the above code working?
0
guru_samiCommented:
Try like this ...
list.Items.Add(new ListItem(String.Format("<img src=\"{0}\">", imgsrc) + dt.Rows[i]["Name"].ToString(), value));
0
npl77Author Commented:
the data the SelectedItem is giving me is now...
<img src="images/AnImage1.gif"> Monthly Subscription - $29.95

I need string manipulation code to get rid of <img src="images/AnImage1.gif">
0
npl77Author Commented:
I got it thank you
0
guru_samiCommented:
oh i see what you mean:
try this:
     char[] ch = {'>','-'};
       string[] s1 = s.Split(ch);      
        string itemname = s1[1];
        string amount = s1[2];
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.