代码之家  ›  专栏  ›  技术社区  ›  obautista

MVC模型绑定和下拉列表

  •  2
  • obautista  · 技术社区  · 14 年前

    下面显示了一个个人类。在视图中,我需要显示它的属性,以及存在于其他表中的DepartmentName。下面类中的DepartmentID是一个外键。我正在使用Linq to SQL。我还将在下面显示我的个人存储库和控制器代码。我需要在索引视图页面中显示部门名称,并在编辑视图页面上显示下拉列表。我是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);
    }
    
    2 回复  |  直到 11 年前
        1
  •  0
  •   Omu    14 年前

    我建议您从这里查看ASP.NET MVC示例 http://valueinjecter.codeplex.com 尤其是在 镀锡控制器 我认为这是做MVC最好的方法

        2
  •  0
  •   Devesh omar    11 年前

    我想共享这个链接,在这里您可以使用MVC获得各种方法来绑定下拉列表。

    http://www.c-sharpcorner.com/UploadFile/deveshomar/ways-to-bind-dropdown-list-in-Asp-Net-mvc/

    这可能对你有帮助。