16

私はmvcを初めて使用し、小さなプロジェクトを実行して学習しようとしています。その特定の日付の通貨と天気を表示するページがあります。そのため、通貨モデルと天気モデルを渡す必要があります。私は通貨モデルを渡すようにしましたが、正常に動作しますが、2番目のモデルを渡す方法がわかりません。また、チュートリアルのほとんどは、1 つのモデルのみを渡す方法を示しています。

どうすればいいのか教えてください。

これは、通貨モデルを送信する現在のコントローラー アクションです。

public ActionResult Index(int year,int month,int day)
    {
        var model = from r in _db.Currencies
                    where r.date == new DateTime(year,month,day)
                    select r;

        return View(model);
    }
4

3 に答える 3

43

両方のモデルを含む特別なビューモデルを作成できます:

public class CurrencyAndWeatherViewModel
{
   public IEnumerable<Currency> Currencies{get;set;}
   public Weather CurrentWeather {get;set;}
}

ビューに渡します。

public ActionResult Index(int year,int month,int day)
{
    var currencies = from r in _db.Currencies
                where r.date == new DateTime(year,month,day)
                select r;
    var weather = ...

    var model = new CurrencyAndWeatherViewModel {Currencies = currencies.ToArray(), CurrentWeather = weather};

    return View(model);
}
于 2013-06-10T18:30:56.567 に答える