2012-12-27 84 views
1

我想從c#後端構建無序列表。 這是結構我想實現:用c添加自定義li到ul#

<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

回答

1

而不是將圖像添加到李,你需要將它添加到錨點。

此外,獲取HtmlGenericControl發出自閉標籤的唯一方法是覆蓋它的實現並修復它。

總而言之,我會說要麼以您想要的方式生成文本,併發出該文本,或看看這些項目的常規.net控件。