我目前有一个将dog变量传递给视图的模型:
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,我从类别列表中引用结果结果?
即我需要根据匹配result["Outcome"]
与dogs.OutcomeID
result["id"]
很抱歉,如果这听起来像一个愚蠢的问题,在PHP中这对我来说不是问题,但我是ASP.NET MVC的新手,我不知道从哪里开始
谢谢
答案 0 :(得分:4)
您可以创建一个View模型,这是ASP.NET MVC中的常见做法,基本上您必须创建一个新类,其中包含您需要传递给视图的属性,然后在您的控制器中,您将发送视图模型的实例,并将您的数据转换为视图模型。
看看ASP.NET MVC - How exactly to use View Models。您还可以查看automapper,它是一个映射库,用于删除在处理视图模型时涉及的大量样板代码。