动态HTML代码通过cs代码(c#)

时间:2013-04-02 10:15:31

标签: c# asp.net dataset computer-science

我试图通过使用数据集中的src来通过cs代码制作动态html代码。 (数据集中的每个项目都是另一张图片的src。)这是我第一次尝试做这样的事情并且它不起作用,任何提示都会有所帮助:)

HTML代码

 <asp:Literal ID="imageGallery" runat="server" />

cs(c#)代码

    DataSet ds = new DataSet();
    ds = DAL.GetBestPics();
    imageGallery.Mode = LiteralMode.Encode;
    string divStart = @"<div class='more-products-holder'><ul>";
    imageGallery.Text += divStart;

    foreach (DataRow item in ds.Tables[0].Rows)
    {
        string imageHTML = @"<li><a>
                       <img src='";
        string mid = @"" + item.ToString();
        string imageHTML2 = @"' /></a></li>";
        imageGallery.Text += imageHTML;
        imageGallery.Text += mid;
        imageGallery.Text += imageHTML2;

    }
    string divEnd = @"</ul></div>";
    imageGallery.Text += divEnd;

    this.Controls.Add(imageGallery);

3 个答案:

答案 0 :(得分:1)

foreach (DataRow item in ds.Tables[0].Rows)
{
    ...
    string mid = @"" + item.ToString();

项是DataRow对象。 你可以参考其中一个字段/列,例如:

项[ “字段名”]的ToString();

答案 1 :(得分:1)

在代码中指定DataRoW as image Source not DataRow Value..

string mid = @"" + item.ToString(); 

item.ToString() - > is a DataRow Not a DataRow Value

它的输出就像这个<img src='System.Data.DataRow' />

你需要改变它,如下面

item["imageSrc"].ToString() - > it returns DataRow Value

您必须为下面的

指定一个字段名称
string mid = @"" + item["ImageSRC"].ToString();

它的输出就像这个<img src='sam.jpg' />

答案 2 :(得分:0)

使用stringbuilder类

怎么样?
 StringBuilder sb = new StringBuilder();
        sb.Append("<div class='more-products-holder'><ul>");
        foreach (DataRow item in ds.Tables[0].Rows)
        {
            sb.Append("<li><a><img src='" + item.ToString() + "'");
            sb.Append("' /></a></li>");

        }

       sb.Append("</ul></div>");
       imageGallery.Text = sb.ToString();