我正在尝试从c#backend构建无序列表。 这是我想要实现的结构:
<li><a href="url.com"><img src="../images/most/most05.jpg" alt="" /><br />LinkName</a></li>
使用此代码:
foreach (Product prod in productList)
{
HtmlGenericControl li = new HtmlGenericControl("li");
products.Controls.Add(li);
string productURL = SEOHelper.GetProductUrl(prod);
HtmlGenericControl anchor = new HtmlGenericControl("a");
anchor.Attributes.Add("href", productURL);
HtmlGenericControl image = new HtmlGenericControl("img");
var productPicture = prod.DefaultProductPicture;
if (productPicture != null)
{
image.Attributes.Add("src", PictureManager.GetPictureUrl(productPicture.Picture, 110, true));
}
else
{
image.Attributes.Add("src", PictureManager.GetPictureUrl(productPicture.Picture, 110, true));
}
anchor.InnerText = prod.Name;
li.Controls.Add(image);
li.Controls.Add(anchor);
}
我得到了这个结构:
<li><img src="http://localhost:22621/images/thumbs/0000724_110.jpg"></img><a href="url.com">LinkName</a></li>
有人可以帮助我如何调整代码来实现我想要的东西吗? 谢谢,Laziale
答案 0 :(得分:1)
不是将图像添加到LI,而是需要将其添加到锚点。
此外,让HtmlGenericControl发出自闭标记的唯一方法是覆盖它的实现并修复它。
总而言之,我会说要么以你想要的方式生成文本并发出它,要么查看那些项目的常规.net控件。