如何使用asp.net c将div标签添加到while循环中#

时间:2014-12-17 11:22:45

标签: c# asp.net while-loop

我创建了一个名为profile.aspx的网页。

<div id="div1">
    <asp:Label ID="Label1" runat="server" >
        //Name
    </asp:Label>
    <asp:Label ID="Label2" runat="server">
        //Satutes 
    </asp:Label>
</div>

这是此文件的profile.aspx.cs文件

此选择查询

cmd.CommandText = "SELECT Name,Status FROM [ProfileStatusPhoto] 
           WHERE Email = '" + Session["Email"].ToString() + "'";

这是while循环

while (dr.Read())
{
    status += dr["Status"].ToString();
    name += dr["name"].ToString();
    Label1.Text = name;
    Label2.Text = status;
}

我不知道,如何在div标签之上加入这个循环?

2 个答案:

答案 0 :(得分:1)

你可以做点什么吗

<div id="container" runat="server">

</div>

在你的页面加载

cmd.CommandText = "SELECT Name,Status FROM [ProfileStatusPhoto] WHERE Email = @Email";
cmd.Parameters.AddWithValue("@Email", Session["Email"].ToString());
while (dr.Read())
{
    System.Web.UI.HtmlControls.HtmlGenericControl div = 
    new System.Web.UI.HtmlControls.HtmlGenericControl("div");    
    Label nameLabel = new Label();
    status += dr["Status"].ToString();
    name += dr["name"].ToString();
    nameLabel.Text = name;
    Label statusLabel = new Label();
    statusLabel.Text = status;
   div.Controls.Add(nameLabel);
   div.Controls.Add(statusLabel);
   container.Controls.Add(div);
}

所以你将有一个容器,每对name-status你将创建一个带有两个标签的div

仅在不是POstBack时加载这些数据

if (!IsPostBack) {
    //load data
}

答案 1 :(得分:0)

如果您想要动态更新页面,您应该在.aspx文件中放置一个计时器并执行页面刷新或执行AJAX调用并使用JavaScript创建div。

如果您想使用计时器控件进行部分更新,请查看this thread