1

Facebookに似た、自分のプロジェクトのページに自分の投稿とコメントが必要です。sql table、sqldatasource、repeaterを使用して投稿を作成しました。しかし、コメントに問題があります。

SQLテーブルのコメントを作成しました。投稿IDの列があります。これは私のコードです:

 <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:MotWebConnectionString %>" 
    SelectCommand="SELECT * FROM [Posts] 
                    JOIN [Users] ON [Users].[UserName] = [Posts].[UserName] 
                    JOIN [Comments] ON [Comments].[PostId] = [Posts].[PostId]
                    WHERE ([GroupId] = @GroupId) ">
        <SelectParameters>
            <asp:QueryStringParameter Name="GroupId" QueryStringField="id" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>

asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource3" >
        <ItemTemplate>
            <table style="width: 100%;">
                <tr>
                    <td width="10%">    
                        <asp:Image ID="Image2" runat="server" Width="64px" Height="64px" ImageUrl='<%# Eval("ProfilePicture")%>' />
                    </td>
                    <td align="left" width="90%" >
                        <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("UserName", "~/_/Profile.aspx?Username={0}")%>'><p><asp:Literal ID="Literal2" runat="server" Text='<%# Eval("Username")%>'></asp:Literal></p></asp:HyperLink>
                    </td>
                </tr>                    
            </table>
            <asp:Literal ID="Literal3" runat="server" Text='<%# Eval("Text")%>'></asp:Literal>
            <br />

                        <asp:Literal ID="Literal4" runat="server" Text='<%# Eval("CommentText")%>'></asp:Literal>


                   <asp:FormView ID="FormView2" runat="server" DataSourceID="SqlDataSource4" DefaultMode="Insert" >
                            <InsertItemTemplate>
                                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                                &nbsp;
                                <asp:Button ID="Button1" runat="server" Text="Button" CommandName="Insert" />
                            </InsertItemTemplate>
                        </asp:FormView>
        </ItemTemplate>

        <SeparatorTemplate>
            <br />
            <br />
            <br />
        </SeparatorTemplate>
     </asp:Repeater>

ただし、投稿のみが表示されます。コメントは少なくとも1つあり、コメントが1を超える場合は、ページに2回以上投稿されます。

また、もう1つの問題は、コメントテーブルに正しい投稿IDを挿入する方法がわからないことです。それはおそらくパラメータを使用することによるものです...

私のデータベーススキーマ(SQL Management Studioで作成する方法がわからなかったため、VSにあります):http: //img685.imageshack.us/img685/1416/vstiekd.jpg

誰かがこれで私を助けることができます:

  1. 投稿の下に正しいコメントを表示し、コメントなしで投稿も表示する方法
  2. 正しい投稿IDでコメントを挿入する方法

私はどんな種類の助けにもとても感謝します

4

0 に答える 0