我最初在我的应用程序上有一个基于Scarfolding System创建的昂贵列表,但每个用户的列表是相同的,我想要的是每个用户可以创建自己的昂贵列表并查看他自己的数据。
所以在昂贵的课堂上我做到了这一点:
public class Despesa
{
public int TipoDespesaId { get; set; }
public int DespesaId { get; set; }
public string UserId { 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)]
[CustomValidation(typeof(Validator), "ValidateEndTimeRange")]
[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; }
}
我刚刚将UserId传递给模型,然后在我的昂贵视图的索引控制器中我做了一个linq查询来比较currentUserID和昂贵用户的Id这里是我的代码:
public ActionResult Index()
{
String userId = User.Identity.GetUserId();
var despesas = db.Despesas.Include(d => d.TipoDespesa).Include(d => d.TipoPagamento).Where(d => d.UserId == userId);
return View(despesas.ToList());
}
我需要知道的是我做错了因为当我尝试访问我的昂贵的索引视图时,我得到一个 ModalValidationException ,为什么这仍然不起作用?顺便说一句,我将字符串Id添加到我之前创建的尊重字段并进行迁移