在c#中添加自定义li

本文关键字:自定义 li 添加 | 更新日期: 2023-09-27 17:49:38

我正在尝试从c#后端构建无序列表。这是我想要实现的结构:

 <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>

我如何调整代码来实现我想要的东西?

在c#中添加自定义li

不是将图像添加到LI中,而是将其添加到锚中。

另外,唯一的方法让HtmlGenericControl发出一个自我关闭标签是覆盖它的实现和修复它。

总而言之,我想说要么以你想要的方式生成文本并发出它,要么查看这些项目的常规。net控件