Populating ASP.NET MVC DropDownList

前端 未结 7 1146
孤街浪徒
孤街浪徒 2020-12-08 00:42

OK, I\'ve been Googling for hours and trying everything and can\'t get anything to work. I am learning MVC using Sharp Architecture and have generated some basic forms for c

相关标签:
7条回答
  • 2020-12-08 00:52
    public ActionResult  AllUsers()
    {
        List<Users> users = userRep.GetUsers();
        var listUsers = (from u in users.AsEnumerable()
                         select new SelectListItem
                         {
                            Text = u.UserName,
                            Value = u.UserId.ToString(),
                            Selected = (u.UserId==6)
                         }).AsEnumerable();
        ViewBag.ListItems = listUsers;
        //ViewBag.SelectedItem = 2;
        return View();
    }
    

    In AllUsers.cshtml

    <p>@Html.DropDownList("ListItems")</p>
    
    0 讨论(0)
  • 2020-12-08 00:54

    This is View - MVC Controller

    @Html.DropDownListFor(m => m.Entity, new ABC.Models.DropDownPopulate().MyMethod, new { @class = "form-control input-inline input-medium" })
    

    MyMethod Get Data List Bind With Dropdown Using SelectListItems

     public List<SelectListItem> MyMethod
            {
                get
                {
                    List<SelectListItem> dropdownList = new List<SelectListItem>();
                    var items = new DropDown_Bl().GetAll();
                    foreach (var item in items)
                    {
                        SelectListItem dropdownItem = new SelectListItem();
                        dropdownItem.Value = item.RnID.ToString();
                        dropdownItem.Text = item.Description;
                        dropdownList.Add(dropdownItem);
                    }
                    dropdownList.Insert(0, new SelectListItem() { Text = "Please Select", Value = "", Selected = true });
                    return dropdownList;
                }
            }
    

    GetAll Method In Dropdown_Bl - Used to get data as list from database

      public List<My_Table> GetAll()
            {
                var Items = _Context.MyRepository.GetMany(q => q.Area == "ASD").ToList();
                return Items ;
            }
    
    0 讨论(0)
  • 2020-12-08 00:55

    I did it this way. Works well.

    Controller

    IFarmModelInterface service2 = new FarmModelRepository();
    ViewData["Farms"] = new SelectList(service2.GetFarmNames(), "id", "FarmName", "XenApp");
    

    View

    <%: Html.DropDownListFor(m => m.Farm, (ViewData["Farms"] as SelectList)) %>
    
    0 讨论(0)
  • 2020-12-08 00:56
    <%= Html.DropDownListFor(c => c.Client.StateProvince, new SelectList(Model.StateProvinces, "Id", "Name")) %> 
    

    and override ToString() for StateProvince to return Id, i.e.:

    return Id.ToString();
    

    This works but is not a perfect solution...

    Dennis

    0 讨论(0)
  • 2020-12-08 01:00
    public ActionResult  AllUsers() {
        List<Users> users = userRep.GetUsers();
        var listUsers = (from u in users.AsEnumerable()
                         select new SelectListItem
                         {
                            Text = u.UserName,
                            Value = u.UserId.ToString(),
                            Selected = (u.UserId==6)
                         }).AsEnumerable();
       // ViewBag.ListItems = listUsers;
       ViewData["tempEmpList"]=listUsers;
        return View(); }
    

    Fill Dropdown

    @Html.DropDownList("SelectedEmployee", new SelectList((IEnumerable) ViewData["tempEmpList"], "Id", "Name"))

    0 讨论(0)
  • 2020-12-08 01:14
    <%= Html.DropDownListFor(c => c.Client.StateProvince.Id, 
                                  new SelectList(Model.StateProvinces, 
                                                 "id", 
                                                 "Name", 
                                                 Model.Client.StateProvince), 
                                  "-- Select State --")%>
    

    This does it.

    Hope this helps someone else.

    ~Lee

    0 讨论(0)
提交回复
热议问题