ASP.NET MVC Webアプリがあり、1つのページに、そのアイテムの詳細へのリンクを含むアイテムの表を表示したいと思います。かなり基本的です。ただし、リストに表示したい項目はすべて共通ベースタイプのサブクラスであるため、リンクはさまざまなコントローラーアクションを参照する必要があります。
だから、私の質問は:これらのリンクをどこで/どのように構築する必要がありますか(以下の例を参照)?
すでにいくつかの方法で目標を達成できます(たとえば、ビジネスオブジェクトをビューモデルにマッピングしながらルートを構築する、ビューモデルでフラグまたはマジックストリングを使用する、適切なビューを選択する単一の「ベース」コントローラーアクションを使用するなど)。しかし、特に「クリーン」に見えるものはないため、これはメカニックよりもベストプラクティスに関する質問です。
例として、私の「割り当て」テーブルが次のようになっているとします。
Id <OtherCommonFields> Type Name Link
1 <some data> Event Some event /event/1
4 <some data> Task Some task /task/4
3 <some data> Event Another event /event/3
2 <some data> Task Another task /task/2
5 <some data> Event One more event /event/5
ここで、「タスク」と「イベント」はどちらも「割り当て」のサブクラスです。