我有一個Person類顯示在下面。在視圖中,我需要顯示其屬性,以及存在於另一個表中的DepartmentName。 DepartmentId在下面的類中是一個外鍵。我正在使用Linq to SQL。我也在下面顯示我的PersonRepository和Controller代碼。我需要在「索引視圖」頁面中顯示DepartmentName,並在「編輯視圖」頁面上顯示下拉列表。我是MVC的新手,所以我不確定如何做到這一點。很感謝任何形式的幫助。MVC模型綁定和下拉列表
public class Person_Validation
{
[HiddenInput(DisplayValue = false)]
[ScaffoldColumn(false)]
public object PersonId { get; set; }
[HiddenInput(DisplayValue = false)]
[ScaffoldColumn(false)]
public object DepartmentId { get; set; }
[DisplayName("First Name")]
[Required(ErrorMessage = "First Name is required")]
[StringLength(50, ErrorMessage = "Frist Name cannot be more than 50 characters")]
public object FirstName { get; set; }
[DisplayName("Last Name")]
[Required(ErrorMessage = "Last Name is required")]
[StringLength(50, ErrorMessage = "Last Name cannot be more than 50 characters")]
public object LastName { get; set; }
[HiddenInput(DisplayValue = false)]
public object Active { get; set; }
[HiddenInput(DisplayValue = false)]
public object DateAdded { get; set; }
[HiddenInput(DisplayValue = false)]
public object DateDeleted { get; set; }
public IEnumerable<Department> departments { get; set; }
}
PersonRepository類:
public IList<Person> GetAllPersons()
{
//get all active people
var activePeople = from p in db.Persons
where p.Active == true
select p;
return activePeople.ToList();
}
控制器代碼:
public ActionResult Index(int? page)
{
const int pageSize = 25;
var persons = _repository.GetAllPersons();
var paginatedPersons = new PaginatedList<Person>(persons, page ?? 0, pageSize);
return View(paginatedPersons);
}