1

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>

コードを微調整して、正確に必要なものを実現するにはどうすればよいですか?

4

1 に答える 1

1

LIに画像を追加する代わりに、アンカーに画像を追加する必要があります。

また、HtmlGenericControlに自己終了タグを発行させる唯一の方法は、その実装をオーバーライドして修正することです。

全体として、テキストを希望どおりに生成して出力するか、それらのアイテムの通常の.netコントロールを調べます。

于 2012-12-27T21:55:15.333 に答える