无法在ASP.NET MVC 5从实体框架填充下拉列表

问题描述 投票:0回答:1

我想在ASP.NET MVC 5填充一个下拉列表,但没有成功。

控制器:

[AllowAnonymous]
[HttpGet]
public ActionResult PartialRegistrationRoles()
{
        using (DBModels db = new DBModels())
        {
            List<Role> allRoles = db.Roles.ToList();
            var roles = new SelectList(db.Roles.ToList(),"RoleName");
            ViewData["DBRoles"] = roles.Items;
        }

        return View();
}

部分观点:

@using System.Collections
@using WorkFinder.Models
@model WorkFinder.Models.Role


<div class="form-group">
    @Html.DropDownList("Roles", new SelectList((IEnumerable) 
    ViewData["DBRoles"]),"Roleid","RoleName")
   </div>

实际下拉列表:

The drop down is just retrieving some SYSTEM.DATA.ENTITY...

错误浏览主视图的情况下,然而,下拉显示了在局部视图:

Error in main view

任何人都可以请帮助我理解我在做什么错?

谢谢!

asp.net-mvc entity-framework view dropdown html.dropdownlistfor
1个回答
0
投票

首先,来看看为DropDownListSelectList过载的方法。最有可能你错放一个支架,并打算做这样的事情:

@Html.DropDownList("Roles", new SelectList((IEnumerable)ViewData["DBRoles"],"Roleid","RoleName"))

在调用此为局部视图方面,请出示相关的代码(主视图),我会更新的答案。

© www.soinside.com 2019 - 2024. All rights reserved.