2013-12-17 22 views
1

我现在有被传递狗变量到视图模型:ASP.NET MVC - 将多个变量传递给模型?

public ActionResult Summary() 
{ 
    var dogs = repository.GetAllRecords().OrderByDescending(x => x.DateRecieved); 

    return View("Summary", dogs); 
} 

这在叫OutcomeID,它通过ID引用另一个数组字段:

var categories = new List<Category>(); 
    try 
    { 
     this.Connect(); 
     var cmd = new SqlCommand 
     { 
      CommandText = "dbo.GetSummaryOutcomes", 
      CommandType = CommandType.StoredProcedure, 
      Connection = this.cn 
     }; 
     var result = cmd.ExecuteReader(); 
     while (result.Read()) 
     { 
      categories.Add(new Category 
      { 
       Name = result["Outcome"].ToString(), 
       Value = result["id"].ToString(), 
       InUse = bool.Parse(result["InUse"].ToString()) 
      }); 
     } 
    } 

反正是有所以根据我的观点,我可以将这些结合起来,而不是仅仅拥有OutcomeID,而是参考类别列表中的结果结果?

即我需要基于匹配dogs.OutcomeIDresult["id"]

对不起得到result["Outcome"]如果这听起来像一个愚蠢的问题,在PHP中,这不会是我的一个问题,但我非常新的ASP。 NET MVC和我不知道从哪里开始

谢谢

回答

4

您可以创建一个视图模型是在ASP.NET MVC的普遍做法,基本上你必须创建具有属性的新类你需要传递给你的看法,然后在你的控制器中,你会发送v的例子将模型转换为视图并将数据转换为视图模型。

看看这里ASP.NET MVC - How exactly to use View Models。你也可以看看automapper,这是一个映射库,它消除了处理视图模型时涉及的很多样板代码。

+0

谢谢:)我现在就去看看吧! – Nick

相关问题