MVC4でドロップダウンメニューを作成しようとしています(Entity Framework、コードファースト)。私の目的は、クラスで価値を準備することです。これにより、コントロールページで追加のプログラミングを行う必要がなくなります。
public class Prefix
{
[Key]
public int PrefixID { get; set; }
[StringLength(20)]
public string PrefixName { get; set; }
}
public class People
{
[Key]
public int PersonID { get; set; }
[StringLength(20)]
public string FirstName { get; set; }
[StringLength(20)]
public string LastName { get; set; }
[ForeignKey("PrefixID")]
public Prefix Prefix { get; set; }
[Required]
public int PrefixID { get; set; }
public string FullName // this isn't working
{
get
{
return Prefix.PrefixName +" " + FirstName + " " + LastName;
}
}
}
public class PersonSalary
{
[Key]
public int SalaryId { get; set; }
//...
[ForeignKey("EmployeeID")]
public Person HEmployee {get;set;}
public int EmployeeID { get; set; }
}
SalaryControllerのコード:
ViewBag.EmployeeID = new SelectList(db.People, "PersonID", "FullName", personsalary.EmployeeID);
SalaryControllerで、値が「Name Surname」のドロップダウンメニューを取得できますが、「Prefix.NameNameSurname 」が必要です。たとえば、「MrJohnDoe」などです。現在のコードはエラーを返します。
オブジェクト参照がオブジェクトのインスタンスに設定されていません。
どうやってするか?