[英]ASP.NET MVC - passing multiple variables onto a model?
我目前有一个模型将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,我从类别列表中引用结果结果?
即我需要根据匹配的dogs.OutcomeID
得到result["Outcome"]
result["id"]
很抱歉,如果这听起来像一个愚蠢的问题,在PHP中这对我来说不是问题,但我对ASP.NET MVC很新,我不知道从哪里开始
谢谢
您可以创建一个视图模型,这是ASP.NET MVC中的常见做法,基本上您必须创建一个新类,其中包含您需要传递给视图的属性,然后在您的控制器中,您将发送该实例。查看模型到您的视图,并将您的数据转换为viewmodel。
看一下ASP.NET MVC - 如何使用View Models 。 您还可以查看一下automapper ,它是一个映射库,用于删除使用视图模型时涉及的大量样板代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.