【发布时间】:2016-03-13 11:24:37
【问题描述】:
所以我有 3 个模型,需要在 3 个模型上的视图中显示信息,所以我创建了一个 viewModel,其中包含视图所需的信息
模型 1:
public class Despesa
{
public int TipoDespesaId { get; set; }
public int DespesaId { get; set; }
[Display(Name = "Descrição da Despesa")]
[Required]
public string DespesaDescricao { get; set; }
[Display(Name = "Valor")]
[Required]
public decimal DespesaValor { get; set; }
public int TipoPagamentoId { get; set; }
[Display(Name = "Data")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]
[Required]
public DateTime Data { get; set; }
public TipoDespesa TipoDespesa { get; set; }
public TipoPagamento TipoPagamento { get; set; }
[Display(Name = "Comentário")]
public string Comentario { get; set; }
}
模型2:
public class TipoDespesa
{
public int TipoDespesaId { get; set; }
[Display(Name = "Tipo de Despesa")]
[Required]
public string TipoDespesaNome { get; set; }
}
模型3:
public class TipoPagamento
{
public int TipoPagamentoId { get; set; }
[Display(Name = "Tipo de Pagamento")]
[Required]
public string TipoPagamentoNome { get; set; }
}
我的视图模型:
public class ViewModelDetalhes
{
public string TipoDespesa { get; set; }
public string TipoPagamento { get; set; }
public string Descricao { get; set; }
public decimal Valor { get; set; }
public DateTime Data { get; set; }
public string comentario { get; set; }
}
我的详细信息:
public ActionResult Details(int? id)
{
var modelo = db.Despesas.Where(p => p.DespesaId == id).FirstOrDefault();
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
if (modelo == null)
{
return HttpNotFound();
}
ViewModelDetalhes model = new ViewModelDetalhes()
{
TipoDespesa = modelo.TipoDespesa,
TipoPagamento = modelo.TipoPagamento,
Descricao = modelo.DespesaDescricao,
Valor = modelo.DespesaValor,
comentario = modelo.Comentario,
};
return View(model);
}
我不知道如何在这里获取 TipoPagamento 和 TipoDespesa 的值,我应该在模型上做一个包含吗?我有点困惑,需要知道如何检索与主类 Despesas 关联的值 TipoPagamento 和 TipoDespesa。 谢谢
【问题讨论】:
标签: asp.net-mvc