Listview-用户评论

时间:2016-05-09 05:43:17

标签: mysql asp.net

我正在开发我的网络应用程序中的功能。它是一个烹饪社区。功能是在线讨论。用户可以在食谱下面发表评论。我使用了listview控件。我可以使用嵌套查询检索用户名。只能将一个数据集对象分配给ListView控件的DataSource属性。我需要用户名和评论值。用户名正在显示。我在显示该特定用户的评论时遇到问题。但我也需要显示用户的评论。我如何实现  代码隐藏显示评论:

 public void dispComments()
    {
        MySqlConnection con = new MySqlConnection("Server=localhost;Database=FreedomKitchen;Uid=root;Password=;");
        con.Open();

        MySqlCommand cmd = new MySqlCommand("select Username from User_Details where User_ID in(select User_ID from Recipe_Comments)", con);
        MySqlDataAdapter da = new MySqlDataAdapter();
        da.SelectCommand = cmd;
        DataSet ds = new DataSet();
        da.Fill(ds, "User_Comments");
        ListView1.DataSource = ds;
        ListView1.DataBind();
        con.Close();
    } 

列表查看源代码:  

             <ItemTemplate>

                 <div id="div123">
            <asp:Label ID="User" 
               runat="Server" 
               Text='<%#Eval("Username") %>'
        width="850"
        height="80"
         />
  <%--  <asp:Label ID="Comment" 
               runat="Server" 
               Text='<%#Eval("Comment") %>'
        width="850"
        height="80"
         />--%>
                 </div>

</ItemTemplate>
            <ItemSeparatorTemplate>

                <br />
            </ItemSeparatorTemplate>

        </asp:ListView>

数据库: User_Details表

User_ID //需要在listview项目中显示它
将First_Name 姓氏
年龄
性别
国家
About_User

密码

User_Comments表

Recipe_ID
USER_ID
评论//需要显示这个列表视图项目

1 个答案:

答案 0 :(得分:0)

将数据库查询更改为join注释和用户表,然后选择结果。

取消注释列表视图的项目模板内的部分以显示注释。

将所选结果集绑定到listview

编辑:

您可能需要在DateTime表中添加User_Comments列,因为一个用户可能会有多条评论需要在时间顺序上显示。

您可以在dispComments()方法

中更改此类代码
MySqlCommand cmd = new MySqlCommand("SELECT U.Username, R.Comment FROM Recipe_Comments R JOIN User_Details U ON R.User_ID = U. User_ID WHERE R.Recipe_ID = @RecipeID ORDER BY R.CommentDate DESC)", con);
cmd.Parameters.Add("@RecipeID", SqlDbType.Int).Value = value;

ItemTemplate

<ItemTemplate>
 <div id="div123">
   <asp:Label ID="User" runat="Server" Text='<%#Eval("Username") %>' width="850" height="80" />
   <asp:Label ID="Comment" runat="Server" Text='<%#Eval("Comment") %>' width="850" height="80" />
 </div>
</ItemTemplate>