It's a really simple problem.
I've got HTML code like this :
<div>
<img src="image1.jpg" alt="test1" />
</div>
<div>
<img src="image2.jpg" alt="test2" />
</div>
<div>
<img src="image3.jpg" alt="test3" />
</div>
etc...
The data is comming from a DB (image name, alt text).
In JAVA, I would do something like :
save the info in array in the back end.
For the presentation I would loop through it with JSTL :
<c:foeach items="${data}" var="${item}>
<div>
<img src="${item.image}" alt="${item.alt}" />
</div>
</c:foreach>
What's the best practice in ASP.net I just don't want to create a string with HTML code in it in the "code behind", it's ugly IMO.
I'll take a stab at this without being able to see your code:
Check out the ASP:Repeater control. Between that and binding your data (with your variances) to it, it may do what you want.
Link 1 Link 2
<Edit:> Okay, now that I see your code, I can help you better. I'd definitely use a repeater for this. I would do it like this in the ASPX file (I may have some errors in this):
<ASP:Repeater id="MyRepeater" runat="server">
<div>
<img src="<%# Eval("Filename")>" alt="<$# Eval("AltText")>" />
</div>
</ASP:Repeater>
Then in your C# you could have:
List<ObjectWithFilenameAndAltText> foo = GoGetTheseObjects();
MyRepeater.DataSource = foo;
MyRepeater.DataBind();
I may have some errors in this but I hope this gets you moving in the right direction. If you don't have a dedicated object for your images, you could simply use a Dictionary or List> and use "Key" and "Value" in your ASPX code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With