gpt4 book ai didi

c# - 将来自 webform 的物理标签存储到列表 C#

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:17 26 4
gpt4 key购买 nike

我已经搜索了一段时间,但永远无法就正确的方法找到明确的答案,或者即使可能。我从 SQL 中的表中获取 2 行,将它们返回到 DataTable 中。我遍历行并动态地为该行创建一个 div,然后为每一列创建一个带有存储值的标签,然后对下一行重复该过程。

要使其正常工作,我所缺少的只是将标签存储到一个列表中,以带回将在其中创建 div 的占位符。

这是一个片段...另外,我想这样做,而不是出于学习目的使用 gridview 或表格,我已经知道如何使用 gridview 和表格来执行此操作。我在这个 SQL 表中总共有 7 列,并且可以有无限数量的行。

编辑

 public void AddDiv(DataTable gameData)
{
for (int i = 0; i < gameData.Rows.Count; i++)
{

//newControl.InnerHtml = AddLabel(gameData, i);
//PlaceHolder1.Controls.Add(newControl);
HtmlGenericControl newControl = new HtmlGenericControl("div");
newControl.ID = "div" + i++;

Label lblTitle = new Label();
lblTitle.Text = gameData.Rows[i]["Game_Title"].ToString();
this.Controls.Add(lblTitle);
PlaceHolder1.Controls.Add(lblTitle);

Label lblPublisher = new Label();
lblPublisher.Text = gameData.Rows[i]["Game_Publisher"].ToString();
this.Controls.Add(lblPublisher);
PlaceHolder1.Controls.Add(lblPublisher);

Label lblGenre = new Label();
lblGenre.Text = gameData.Rows[i]["Game_Genre"].ToString();
this.Controls.Add(lblGenre);
PlaceHolder1.Controls.Add(lblGenre);

Label lblESRB = new Label();
lblESRB.Text = gameData.Rows[i]["Game_ESRB"].ToString();
this.Controls.Add(lblESRB);
PlaceHolder1.Controls.Add(lblESRB);

Label lblUserRating = new Label();
lblUserRating.Text = gameData.Rows[i]["Game_UserRating"].ToString();
this.Controls.Add(lblUserRating);
PlaceHolder1.Controls.Add(lblUserRating);

Label lblWebsite = new Label();
lblWebsite.Text = gameData.Rows[i]["Game_Website"].ToString();
this.Controls.Add(lblWebsite);
PlaceHolder1.Controls.Add(lblWebsite);

}
}

最佳答案

首先,HtmlGenericControl 的 InnerHtml 属性是一个字符串。您的代码正在将 void 方法的结果分配给此属性。我认为您想要做的是创建 div 并将对该 div 的引用传递给 AddLabel 方法。您可以在此处创建标签并将它们添加到 div 的控件的属性中。最后,像现在一样将您的 div 添加到占位符。希望这会让您走上正轨。

 protected void Page_Load(object sender, EventArgs e)
{
AddDiv();
}

public void AddDiv()
{
for (int i = 0; i < 5; i++)
{
HtmlGenericControl newControl = new HtmlGenericControl("div");
newControl.ID = "div" + i;
AddLabel(newControl, i);
PlaceHolder1.Controls.Add(newControl);
}

}

protected void AddLabel(HtmlGenericControl control, int i)
{
Label lblTitle = new Label();
lblTitle.Text = "label" + i.ToString();
control.Controls.Add(lblTitle);

Label lblPublisher = new Label();
lblPublisher.Text = "publisherLabel" + i.ToString();
control.Controls.Add(lblPublisher);
}

关于c# - 将来自 webform 的物理标签存储到列表 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18281215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com