C# 将数据库绑定到dropdownlist
我是MVC新手,仍在学习我的方法,我正在尝试填写一个下拉列表。我有以下代码(型号):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
公立学校代码
{
公共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;
}