代码中的问题会添加到同一个div中吗?

时间:2011-03-23 11:18:51

标签: c# asp.net mysql sql html

代码中的问题会添加到同一个div中吗?我需要它添加多个相同id的div。

它需要我的数据库中的所有单独的实体或列,并将它们放在一个名为I的div中,我希望它会为我的数据库中的每条记录添加,这等于我的sqlsyntax中的用户ID。

我怎样才能做到这一点?

代码:

    using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + theUserId + "", cn))

    using (OdbcDataReader reader = cmd.ExecuteReader())
    {
        var divHtml = new System.Text.StringBuilder("<div id=mysqlcontent>");
        while (reader.Read())
        {
            divHtml.Append(String.Format("{0}", reader.GetString(0)));
        }

        divHtml.Append("</div>");
        test1.InnerHtml = divHtml.ToString();

    }
}

}

示例:

<div id="test1">
   <div id="mysqlcontent">every record from my database = to the userid is being placed in this single div  </div>
</div>

我需要它看起来像这样:

<div id="test1">
   <div id="mysqlcontent">record 1</div>
   <div id="mysqlcontent">record 2</div>
</div>

3 个答案:

答案 0 :(得分:2)

   using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + theUserId + "", cn))

    using (OdbcDataReader reader = cmd.ExecuteReader())
    {
        var divHtml = new System.Text.StringBuilder();
        while (reader.Read())
        {
            divHtml.Append("<div id=mysqlcontent>");
            divHtml.Append(String.Format("{0}", reader.GetString(0)));
            divHtml.Append("</div>");
        }


        test1.InnerHtml = divHtml.ToString();

    }
}
但是,Furqan是对的。拥有相同id的多个元素有点奇怪。

答案 1 :(得分:0)

你可以试试这个:

using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + theUserId + "", cn))
using (OdbcDataReader reader = cmd.ExecuteReader())
{       
    var divHtml = new System.Text.StringBuilder(); 
    while (reader.Read())
    {
        var divHtml.AppendFormat("<div class=\"mysqlcontent\">{0}</div>", reader.GetString(0));
    }

    test1.InnerHtml = divHtml.ToString();

}

这样您就可以在while循环中的每次迭代中生成一个新的<div>。另请注意,我使用“mysqlcontent”作为<div>而不是 id 。每个ID只能在整个HTML页面中使用一次。

答案 2 :(得分:0)

这是纠正代码的一种方法

while (reader.Read())
{
    var divHtml = new System.Text.StringBuilder("<div id=mysqlcontent>");
    divHtml.Append(String.Format("{0}", reader.GetString(0)));
    divHtml.Append("</div>");
    test1.InnerHtml += divHtml.ToString();
}