Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 没有类型为';IEnumerable';那有钥匙';x'';_C#_Asp.net Mvc_Razor_Drop Down Menu_View - Fatal编程技术网

C# 没有类型为';IEnumerable';那有钥匙';x'';

C# 没有类型为';IEnumerable';那有钥匙';x'';,c#,asp.net-mvc,razor,drop-down-menu,view,C#,Asp.net Mvc,Razor,Drop Down Menu,View,在我看来,我有一个问题,我的dropdownlist失败,不工作,不知道为什么 @model DigikalaHR.View_Model.Entitys.Member . . . . <div class="form-group"> @Html.LabelFor(model => model.TeamId, "TeamId", htmlAttributes: new { @class = "control-label col-md-2" })

在我看来,我有一个问题,我的dropdownlist失败,不工作,不知道为什么

@model DigikalaHR.View_Model.Entitys.Member
 .
 .
 .
 .
<div class="form-group">
        @Html.LabelFor(model => model.TeamId, "TeamId", htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">                
            @Html.DropDownList("TeamId",null,htmlAttributes: new {@clas="form-control" })
            @Html.ValidationMessageFor(model => model.TeamId, "", new { @class = "text-danger" })
        </div>
    </div>
这是我收到的错误

无法将lambda表达式转换为类型“IEnumerable”,因为它不是委托类型

这也是我在控制器中的创建方法

  #region [- Create() -]

    #region [- Get -]
    public ActionResult Create()
    {
        return View();
    }
    #endregion

    #region [- Post -]
    // POST: Member/Create
    [ValidateAntiForgeryToken]
    [HttpPost]
    public ActionResult Create(string _fName, string _lName, string _describtion, string _pic, int _teamId, int _positionId)
    {
        try
        {
            // TODO: Add insert logic here
            Ref_Member = new View_Model.Buisiness.Member();
            //Ref_Member.CreateMember();
            return RedirectToAction("Index");
        }
        catch
        {
            return View();
        }
    }
这是我传递到视图中的视图模型

  #region [- Id -]
    [ScaffoldColumn(true)]
    [DisplayName("شماره")]
    public int Id { get; set; } 
    #endregion

    #region [- FName -]
    [DisplayName("نام")]
    [Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
    [StringLength(100, ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName  = "StringLength")]
    public string FirstName { get; set; }
    #endregion

    #region [- LName -]
    [DisplayName("نام خانوادگی ")]
    [Required(ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
    [StringLength(100, ErrorMessageResourceType = typeof(Resources.Messages), ErrorMessageResourceName = "StringLength")]
    public string LastName { get; set; }
    #endregion

    #region [- Describtion -]
    [DataType(DataType.MultilineText)]
    [DisplayName("توضیحات")]
    public string Description { get; set; }
    #endregion

    #region [- Pic -]
    [DisplayName("عکس")]
    [Required(AllowEmptyStrings =false,ErrorMessageResourceType =typeof(Resources.Messages), ErrorMessageResourceName = "Required")]
    public string Pic { get; set; }
    #endregion

    #region [- TeamId -]
    [DisplayName("شماره تیم")]
    public Nullable<int> TeamId { get; set; }
    #endregion

    #region [- PositionId -]
    [DisplayName("شماره سرپرست")]
    public int PositionId { get; set; }

    #endregion

    #region [- Departments -]
    [DisplayName("دپارتمان")]
    public ICollection<Department> Departments { get; set; } 
    #endregion

    public  Position Position { get; set; }
    public  Team Team { get; set; }

    public  ICollection<Team> Teams { get; set; }
}
#区域[-Id-]
[脚手架立柱(正确)]
[显示名称(“显示名称”)]
公共int Id{get;set;}
#端区
#区域[-FName-]
[显示名称(“نام”)]
[必需(ErrorMessageResourceType=typeof(Resources.Messages),ErrorMessageResourceName=“必需”)]
[StringLength(100,ErrorMessageResourceType=typeof(Resources.Messages),ErrorMessageResourceName=“StringLength”)]
公共字符串名{get;set;}
#端区
#区域[-LName-]
[显示名称(“显示名称”)]
[必需(ErrorMessageResourceType=typeof(Resources.Messages),ErrorMessageResourceName=“必需”)]
[StringLength(100,ErrorMessageResourceType=typeof(Resources.Messages),ErrorMessageResourceName=“StringLength”)]
公共字符串LastName{get;set;}
#端区
#区域[-描述-]
[数据类型(DataType.multilitext)]
[显示名称(“显示名称”)
公共字符串说明{get;set;}
#端区
#区域[-Pic-]
[显示名称(“عکس”)]
[必需(AllowEmptyStrings=false,ErrorMessageResourceType=typeof(Resources.Messages),ErrorMessageResourceName=“必需”)]
公共字符串Pic{get;set;}
#端区
#区域[-TeamId-]
[显示名称(“显示名称”)
公共可为空的TeamId{get;set;}
#端区
#区域[-PositionId-]
[显示名称(“显示名称”)]
public int PositionId{get;set;}
#端区
#区域[-部门-]
[显示名称(“显示名称”)
公共ICollection部门{get;set;}
#端区
公共位置位置{get;set;}
公共团队{get;set;}
公共ICollection团队{get;set;}
}

好吧,根据您收到的错误消息:
无法将lambda表达式转换为类型“IEnumerable”,因为它不是委托类型
,您的
@Html.DropDownList
调用似乎希望该参数中包含一个集合,但您提供的是单个值

如果您查看,我想您会发现它确认了错误消息已经告诉您的内容:它需要一个
IEnumerable
,但您只提供了一个项

提供了一些不错的代码示例。以下是一个例子:

@Html.DropDownList("StudentGender", 
                    new SelectList(Enum.GetValues(typeof(Gender))),
                    "Select Gender",
                    new { @class = "form-control" })
注意使用了
Enum.GetValues
,它生成了一个IEnumerable

要将其绑定到表单中的字段,需要以下内容:

@Html.DropDownListFor(m => m.StudentGender, 
                    new SelectList(Enum.GetValues(typeof(Gender))), 
                    "Select Gender")
进一步阅读

它真的应该是
@clas=
,而不是
@class=
?@RobertHarvey我修复了它,但仍然得到了相同的错误,根据您收到的错误消息:
无法将lambda表达式转换为类型“IEnumerable”,因为它不是委托类型
,似乎您的
@Html.DropDownList
调用需要该参数中有一个集合,但您提供的是一个值。如果您查看,我想您会发现它确认了错误消息已经告诉您的内容:它需要一个
IEnumerable
,但是你只提供了一个项目。@RobertHarvey,但它是一个表单,必须简单且单一,而不是一个集合谢谢,但应该使用什么来代替
性别,这取决于你的模型是什么样子。我将编辑我的问题。你的模型中似乎没有合适的列表,你可以用来填充所以我应该填写一个列表,然后传递它,而不是
Gender
@Html.DropDownListFor(m => m.StudentGender, 
                    new SelectList(Enum.GetValues(typeof(Gender))), 
                    "Select Gender")