Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.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# 将数据库绑定到dropdownlist_C#_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

C# 将数据库绑定到dropdownlist

C# 将数据库绑定到dropdownlist,c#,asp.net-mvc,asp.net-mvc-5,C#,Asp.net Mvc,Asp.net Mvc 5,我是MVC新手,仍在学习我的方法,我正在尝试填写一个下拉列表。我有以下代码(型号): 公立学校代码 { 公共int-escuelaCode{get;set;} 公共字符串escuelaName{get;set;} } 公共班级所有学校代码 { 公立学校名单 { 列表代码=新列表(); SqlConnection conn=新的SqlConnection(ConfigurationManager.ConnectionString[“MCE”].ConnectionString); SqlComma

我是MVC新手,仍在学习我的方法,我正在尝试填写一个下拉列表。我有以下代码(型号):

公立学校代码
{
公共int-escuelaCode{get;set;}
公共字符串escuelaName{get;set;}
}
公共班级所有学校代码
{
公立学校名单
{
列表代码=新列表();
SqlConnection conn=新的SqlConnection(ConfigurationManager.ConnectionString[“MCE”].ConnectionString);
SqlCommand comm=新SqlCommand(“从Escuelas中选择EscuelaCode、EscuelaName”,conn);
conn.Open();
使用(var dataReader=comm.ExecuteReader())
{
while(dataReader.Read())
{
学校代码ur=新学校代码();
ur.escuelaCode=Convert.ToInt32(dataReader[“escuelaCode]”);
ur.escuelaName=Convert.ToString(dataReader[“escuelaName]”);
代码。添加(ur);
}
}
返回码;
}
}
公共类GetSchoolCodeViewModel
{
[显示(Name=“Escuela:”)]
public int SelectedEscuelaCode{get;set;}
公共IEnumerable AllSchoolCodes{get;set;}
}
控制器:

private IEnumerable<SelectListItem> GetCode()
    {
        var dbSchoolCodes = new AllSchoolCodes();
        var code = dbSchoolCodes
                    .GetSchools()
                    .Select(x =>
                            new SelectListItem
                            {
                                Value = x.escuelaCode.ToString(),
                                Text = x.escuelaName
                            });

        return new SelectList(code, "Value", "Text");
    }


public ActionResult Index()
    {
        var model = new GetSchoolCodeViewModel
        {
        AllSchoolCodes = GetCode()
        };
        return View(model);
     //   return View();
    }
private IEnumerable GetCode()
{
var dbSchoolCodes=新的所有学校代码();
var代码=DBChoolCodes
.GetSchools()
.选择(x=>
新建SelectListItem
{
Value=x.escuelaCode.ToString(),
Text=x.escuelaName
});
返回新的选择列表(代码、“值”、“文本”);
}
公共行动结果索引()
{
var模型=新的GetSchoolCodeViewModel
{
AllSchoolCodes=GetCode()
};
返回视图(模型);
//返回视图();
}

现在,我在索引控制器中得到以下错误:错误1无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(是否缺少转换?)。我被困在这里,完全不知道该怎么办。任何帮助都会很棒。

Ypu无需再次创建
SelectList
当您重新创建
IEnumerable
时,您只需通过以下方式返回
SelectList

private SelectList GetCode()
{
        var dbSchoolCodes = new AllSchoolCodes();
        var code = dbSchoolCodes.GetSchools();


        return new SelectList(code, "escuelaCode", "escuelaName");
}
或者,如果要返回
IEnumerable
,则无需再次创建
SelectList

private IEnumerable<SelectListItem> GetCode()
    {
        var dbSchoolCodes = new AllSchoolCodes();
        var code = dbSchoolCodes
                    .GetSchools()
                    .Select(x =>
                            new SelectListItem
                            {
                                Value = x.escuelaCode.ToString(),
                                Text = x.escuelaName
                            });

        return code;
    }
private IEnumerable GetCode()
{
var dbSchoolCodes=新的所有学校代码();
var代码=DBChoolCodes
.GetSchools()
.选择(x=>
新建SelectListItem
{
Value=x.escuelaCode.ToString(),
Text=x.escuelaName
});
返回码;
}
private IEnumerable<SelectListItem> GetCode()
    {
        var dbSchoolCodes = new AllSchoolCodes();
        var code = dbSchoolCodes
                    .GetSchools()
                    .Select(x =>
                            new SelectListItem
                            {
                                Value = x.escuelaCode.ToString(),
                                Text = x.escuelaName
                            });

        return code;
    }