ASP.NET

时间:2015-11-08 05:25:07

标签: c# html asp.net database listview

我想使用asp.net创建一个网页,用户可以在其中查看其他人的帖子并对其进行评论(如Facebook或Twitter)。我无法找到适当的控件来查看数据库中的帖子,并允许对它们进行评论并喜欢它们。我搜索了网络,但没有关于这个主题的足够信息。

我想我应该使用ListViewDataListGridView。但是,自定义此类控件有点受限,我无法弄清楚如何在这些控件中添加注释和类似功能。

如何在这些控件中添加注释和相似功能?或者,是否有更好的控制我可以用于此目的?

我尝试使用ListView,但我无法添加注释区域,这是我的代码:

 <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [title] FROM [products]">

    </asp:SqlDataSource>
        <asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center">
                <asp:ListView ID="ListView2" runat="server" DataSourceID="SqlDataSource1">

                    <AlternatingItemTemplate>
                        <span style="background-color: #FAFAD2; color: #284775;">title:
                        <asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
                        <br />
                        <br />
                        </span>
                    </AlternatingItemTemplate>
                    <EditItemTemplate>
                        <span style="background-color: #FFCC66; color: #000080;">title:
                        <asp:TextBox ID="titleTextBox" runat="server" Text='<%# Bind("title") %>' />
                        <br />
                        <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
                        <br />
                        <br />
                        </span>
                    </EditItemTemplate>
                    <EmptyDataTemplate>
                        <span>No data was returned.</span>
                    </EmptyDataTemplate>
                    <InsertItemTemplate>
                        <span style="">title:
                        <asp:TextBox ID="titleTextBox" runat="server" Text='<%# Bind("title") %>' />
                        <br />
                        <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="Clear" />
                        <br />
                        <br />
                        </span>
                    </InsertItemTemplate>
                    <ItemTemplate>
                        <span style="background-color: #FFFBD6; color: #333333;">title:
                        <asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
                        <br />
                        <br />
                        </span>
                    </ItemTemplate>
                    <LayoutTemplate>
                        <div id="itemPlaceholderContainer" runat="server" style="font-family: Verdana, Arial, Helvetica, sans-serif;">
                            <span runat="server" id="itemPlaceholder" />
                        </div>
                        <div style="text-align: center; background-color: #FFCC66; font-family: Verdana, Arial, Helvetica, sans-serif; color: #333333;">
                        </div>
                    </LayoutTemplate>
                    <SelectedItemTemplate>
                        <span style="background-color: #FFCC66; font-weight: bold; color: #000080;">title:
                        <asp:Label ID="titleLabel" runat="server" Text='<%# Eval("title") %>' />
                        <br />
                        <br />
                        </span>
                    </SelectedItemTemplate>

                </asp:ListView>

        </asp:Panel> 

编辑:这是我尝试使用转发器的另一种方法:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [products]">

    </asp:SqlDataSource>

        <asp:Panel ID="Panel1" runat="server" HorizontalAlign="Center">
            <asp:Repeater ID="rptEmployees" runat="server" DataSourceID="SqlDataSource1">
            <HeaderTemplate>
                <div id="divEmployees">
            </HeaderTemplate>
            <ItemTemplate>
                <div class="detail">
                   <div>Name: <strong> <%# Eval("title") %></strong></div>
                   <div>Address: <strong><%# Eval("price") %></strong></div>

                </div>
            </ItemTemplate>
            <AlternatingItemTemplate>
                <div class="detail">
                   <div>Name: <strong><%# Eval("title") %></strong></div>
                   <div>Address: <strong><%# Eval("price") %></strong></div>
                </div>
            </AlternatingItemTemplate>
            <FooterTemplate>
                </div>
            </FooterTemplate>
        </asp:Repeater>

        </asp:Panel> 

我找到了一个网站,解释了如何使用转发器为某些帖子添加评论,可在此处查看http://dotprogramming.blogspot.com/2013/07/how-to-make-comment-box-in-aspnet.html

但是,我认为这说明了如何在一篇文章中添加多条评论。 我希望有多个帖子,每个帖子可以有多个评论,我怎样才能实现呢?

感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

经过一些搜索后,我发现通过使用嵌套的Repeaters可以实现,一个将代表帖子本身,嵌套的一个代表帖子的评论。

要将Repeaters与评论结合使用,本文非常有用,

http://www.c-sharpcorner.com/UploadFile/5089e0/how-to-use-repeater-control-in-Asp-Net/