検索結果ページをタブ付きレイアウトで(タブをカテゴリとして)レンダリングしようとしています。タブオーダーが製品、記事、動画であることを確認するにはどうすればよいですか?今すぐアルファベット順に印刷します(私が想定しているorderbyメソッドのcoz)。カスタム並べ替え/比較を作成するのはかなり新しいです。ありがとうございました!これは動作するはずです、多分100%最適ではないながらリスト<IGroup>カスタムソートc#
protected void ResultsRedendering(List<Item> searchResult)
{
_searchResults = searchResult.GroupBy(i => i.TemplateName).OrderBy(p=>p.Key).ToList();
_searchResults.RemoveAll(i => i.Key != "Product" && i.Key != "Article" && i.Key != "Video");
rptResultTab.DataSource = _searchResults;
rptResultTab.DataBind();
}
これは私の項目テンプレートは、各タブをレンダリングする方法です...
<ItemTemplate>
<li><a href="#<%#((IGrouping<string , Item>)Container.DataItem).Key %>">
<%#((IGrouping<string, Item>)Container.DataItem).Key)%></a></li>
</ItemTemplate>
はまた、_searchResultはタイプのList<IGrouping<string,Item>>
こんにちは、_searchResultオブジェクトはList>型であり、ロジックを使用しようとすると文句を言います。また、List >にキャストした場合、実行時にキャストできないと不満を吹きます。 –
xoail
あなたの答えは私にそれを働かせる方向を与えました...ありがとう...これは私が最後にしたものです...
_searchResults = searchResult.GroupBy(i => i.TemplateName).OrderBy(o => o.Key == "Product" ? 1 : o.Key == "Article" ? 2 : 3).ToList();
– xoail