0
私は基本的に人の経費と所得を管理するアプリケーションを持っていますが、費用はタイプによって決まります。ユーザーごとに異なります。 支出のタイプに最も適した例として、さまざまなオプションを用意することができますが、選択肢は1つだけです。これはドロップダウンリストによって実装されています。ユーザIDに関連付けられたドロップダウンリストに値を取得
モデルの費用:
public class Expense
{
public int TipeExpenseId { get; set; }
public int ExpenseId { get; set; }
[Display(Name = "Descrição da Despesa")]
[Required]
public string ExpenseDescription { get; set; }
[Display(Name = "Valor")]
[Required]
public decimal ExpenseValue { get; set; }
public int PayementTypeId { get; set; }
[Display(Name = "Data")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]
[Required]
public DateTime Data { get; set; }
public ExpenseTipe ExpenseTipe { get; set; }
public PaymentType PaymentType { get; set; }
[Display(Name = "Comentário")]
public string Coment { get; set; }
[ForeignKey("ApplicationUserId")]
public virtual ApplicationUser User { get; set; }
public string ApplicationUserId { get; set; }
}
モデルTipeExpense:
public int ExpenseTipeId { get; set; }
[Display(Name = "Tipo de Despesa")]
[Required]
public string ExpenseTipeName { get; set; }
public virtual ApplicationUser User { get; set; }
public string ApplicationUserId { get; set; }
各ユーザーが支出の彼らの種類を持っていたし、彼らは私には、次のされてきたものを、互いに異なっていたことをことを意図していた何
私はそれを作成するユーザーに関連するすべてのExpenseTipeを取得したい、私はあなたが費用のtipeのすべてのリストを取得しないように、私はlinqクエリで何かをする必要があると思うが、ユーザーが私は知らないLinqのクエリでそれを行う方法は、ここでドロップダウンリストを塗りつぶすコントローラです。
public ActionResult Create([Bind(Include = "DespesaId,TipoDespesaId,DespesaDescricao,DespesaValor,TipoPagamentoId,Data,Comentario")] Despesa despesa)
{
if (ModelState.IsValid)
{
despesa.ApplicationUserId = User.Identity.GetUserId();
db.Despesas.Add(despesa);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.TipoDespesaId = new SelectList(db.TipoDespesas, "TipoDespesaId", "TipoDespesaNome", despesa.TipoDespesaId);
ViewBag.TipoPagamentoId = new SelectList(db.TipoPagamentos, "TipoPagamentoId", "TipoPagamentoNome", despesa.TipoPagamentoId);
return View(despesa);
}
私は私がviewBagにWHERE条件が必要だと思うが、それを行う方法を知らない:S
うん、私は実際にいくつかの瞬間前にそれを解決し、そしてそれをここに投稿したかった、私はそれはそれから困難だったthaught、たぶん私はたくさんワットが行うが簡単で複雑:Dが、おかげで –