2013-05-09 71 views
1

我必須從視圖傳遞多個值到控制器。我希望發送到視圖的兩個值是Dictionary對象和從數據庫中的多個表中收集的值。請幫助。發送字典對象以及其他值從控制器到視圖

public ActionResult Overview(int id) 
    { 
     //Feb runs 
     ScriptRun run1 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(-1)); 
     ScriptRun run2 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(-1)); 

     //Jan runs 
     ScriptRun run3 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(-2)); 
     ScriptRun run4 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(-2)); 

     //March runs 
     ScriptRun run5 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(0)); 
     ScriptRun run6 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(0)); 

     //April runs 
     ScriptRun run7 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(+1)); 
     ScriptRun run8 = new ScriptRun("IE","Tech2",DateTime.Now.AddMonths(+1)); 


     List<ScriptRun> janRuns = new List<ScriptRun>(); 
     janRuns.Add(run3); 
     janRuns.Add(run4); 

     List<ScriptRun> febRuns = new List<ScriptRun>(); 
     febRuns.Add(run1); 
     febRuns.Add(run2); 

     List<ScriptRun> marRuns = new List<ScriptRun>(); 
     marRuns.Add(run5); 
     marRuns.Add(run6); 

     List<ScriptRun> aprRuns = new List<ScriptRun>(); 
     aprRuns.Add(run7); 
     aprRuns.Add(run8); 
     aprRuns.Add(run7); 
     aprRuns.Add(run8); 

     Dictionary<string,List<ScriptRun>> runs = new Dictionary<string,List<ScriptRun>>(); 
     runs.Add("January",janRuns); 
     runs.Add("February", febRuns); 
     runs.Add("March", marRuns); 
     runs.Add("April", aprRuns); 

     var script_tbl = db.ScriptDb.Include(x => x.ScriptRuns); 
     var inreturn1= script_tbl.ToList().Find(p => p.scriptId == id); 

     //Wish to return inreturn1 and runs 

     return View(); 



    } 

回答

0

這種情況下的最佳方法是發回一個強類型模型。

例如(很簡單的例子)

var myModel = new OverViewModel(); //Your new model type 
myModel.Runs = runs; 
myModel.Return1 = inreturn1; 

return View(myModel); 

...然後參考模型視圖

@model OverViewModel 
+0

我如何形容OverViewModel我的字典是由鍵(串)和名單<名單> ScriptRuns是對象。 – amair 2013-05-10 05:01:46