passare due modelli per visualizzare

Sono nuovo di mvc e cerco di impararlo facendo un piccolo progetto con esso. Ho una pagina che dovrebbe mostrare le valute e il tempo della data specifica. quindi dovrei passare il modello di valute e il modello meteorologico. Ho fatto passare il modello di valute e funziona bene, ma non so come passare il secondo modello. E la maggior parte delle esercitazioni mostra come passare un solo modello.

Ragazzi, potete dare un’idea di come farlo.

questa è la mia attuale azione del controller che invia il modello di valuta

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); } 

Puoi creare viewmodel speciale che contiene entrambi i modelli:

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

e passalo alla vista.

 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); } 

Devi creare un nuovo modello che deve contenere l’intero object che vuoi passare per vederlo. Dovresti creare un modello (class, object) che erediti il ​​modello di base (class, object).

E altri suggerimenti per inviare oggetti (modelli) tramite View [“model1”] e View [“model2”] o semplicemente un array che contiene oggetti per passarlo e lanciarli all’interno della vista che non consiglio.

Sembra che tu possa utilizzare un modello specifico per questa vista.

 public class MyViewModel{ public List CurrencyList {get;set;} } 

e poi dal tuo controller potresti passare questo nuovo View Model nella view:

  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(new MyViewModel { CurrencyList = model.ToList() }); } 

È ansible aggiungere semplicemente più proprietà al modello di visualizzazione che contengono altri modelli (modello meteo) e impostarle in modo appropriato.