winformsとASP.netの両方で.netと数年間働いているので、私は今MVCに入り始めています。私の主な混乱の1つは、再利用可能な「コンポーネント」の概念で、Webフォームのユーザーコントロールの概念に似ています。ASP> net MVC再利用可能な部分
たとえば、私はサイトのメンバーエリア内にいくつかの「ウィジェット」を持っています。その1つは、ログインしているユーザーのアカウントマネージャの詳細です。しかし、これを部分的に作成することはできますが、ページがロードされるときにViewModel/Viewデータの一部としてデータを渡す必要があります。私はこのウィジェットをいくつかの異なるセクションで使いたいと思っています。つまり、データをさまざまなコントローラに渡すためにコードを記述する必要があります。これはDRYの原則に違反しているようですが、ここで何か不足していますか?私は理想的には、すべてのページで使用できる1つの部分にカプセル化されるすべてのものが好きです。多くのロジックなしでシンプルなコントロールのために
1)、あなたがコントロールのカスタムビューモデルの新しいインスタンスを作成することができます:
それはかなり意味があります - 私は単純なケースでは私はどちらも使用できないと思います。 ViewModelコンストラクタから現在ログインしているユーザを取得します.2ウェイインタラクションが必要な場合はno.2を取得します。 – Macros
ビューモデルにユーザーのIDがある場合、ルート値に渡すことができます(2)を使用してデータをキャッシュします。もう1つの選択肢は、現在のログインしているユーザーをセッションからロードすることです。これは非常に簡単ですが、いくつかの原則に違反します。あなたがそれを好きなら、答えをマークしてください、ありがとう。 – jhexp