我试图通过使用数据集中的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);
答案 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();