SOと同じようにコメントシステムを作成しようとしていますが、最初に投稿の最初の5つのコメントを表示し、目的の返信で[すべてのコメントを表示]をクリックすると残りを表示したいと思います。
これを行うための最良の方法は何ですか?自分のやりたいことをするための良い方法を本当に見つけることができませんでした。私は何かが欠けているに違いありません。
参考までに、コメントデータソースは私のページにネストされたリピーターです。外側のリピーターは返信で、内側のリピーターはコメントです。現在、すべての結果に対してすべてのコメントをバインドしています(10000件の返信がある場合でも)。また、コメントのページングは行いたくありません。SOと同じように機能させたいだけです。
何か案は?
編集:今私はコメントのために2つのテーブルを持つことを考えています:
データが5行しかないテーブルで、デフォルトで表示されます。これを行うにはフィルタリングが必要です。Linqフィルタリングコードは素晴らしいでしょう!
すべての結果を含むテーブル。フィルタリングなし。これは問題ありません。
だからここに私がデータのために持っているものがあります:
DataRowView dv = e.Item.DataItem as DataRowView;
if (dv != null)
{
Repeater commentRepeater = e.Item.FindControl("childRepeater") as Repeater;
if (commentRepeater != null)
{
commentRepeater.DataSource = dv.CreateChildView("myrelation");
commentRepeater.DataBind();
}
}
ご覧のとおり、データセット内のテーブル間にリレーションを作成し、そのデータ行をリピーターにバインドしています。データ行で上位5つのフィルタリングを実行する必要があります。
ありがとうございました