C# ASP.NET MVC 3级联组合框不';行不通
我有两个组合框。我以这种方式填充的第一个ComboBox运行良好:C# ASP.NET MVC 3级联组合框不';行不通,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我有两个组合框。我以这种方式填充的第一个ComboBox运行良好: @Html.DropDownListFor( x => x.Town, new SelectList(Model.Towns, "Value", "Text"), "-- Select town --") public IEnumerable<SelectListItem> Towns { get { List<DataRow&g
@Html.DropDownListFor(
x => x.Town,
new SelectList(Model.Towns, "Value", "Text"),
"-- Select town --")
public IEnumerable<SelectListItem> Towns
{
get
{
List<DataRow> TownsListDB = OracleSelect("select * from Towns");
List<SelectListItem> townsItems = new List<SelectListItem>();
foreach (DataRow rw in TownsListDB)
{
townsItems.Add(new SelectListItem { Value = rw[0].ToString(),
Text = rw[1].ToString() });
}
return townsItems;
}
}
为什么combobox不能处理来自DB的我的列表结果?使用以下代码:
return Json(hospitalsItems.ToList(), JsonRequestBehavior.AllowGet);
而不是最后一行的这个
return Json(hospitalsItems, JsonRequestBehavior.AllowGet);
我发现了问题所在。听起来很有趣,我只需要jQuery代码中的大写字母:code select.append($('',{value:hospital.value,text:hospital.text)它看起来不错。它是在某处刹车,还是只是返回一个空列表?如果它坏了,错误消息是什么。如果它返回一个空列表,您是否仔细检查了查询是否返回了任何内容?当您打开下拉列表时,您是否查看了Firebug/Developer工具中发生的情况,您应该能够看到发布的内容,以及响应中返回的内容。我是asp.net和jQuery的新手,调试jQuery帮助我发现了错误,thanx。他为什么要将其设置为ToList()?HospitalsItems已经是SelectListItems的列表。我发现了问题所在。听起来很有趣,我只需要jQuery代码中的大写字母:
code select.append($('',{value:hospital.value,text:hospital.text}
public ActionResult Hospitals(string town)
{
var modelHospital = new MedicalViewModel();
List<DataRow> HospitalsListDB = modelHospital.OracleSelect
("select * from Hospitals hh where hh.TownID = " + town);
List<SelectListItem> hospitalsItems = new List<SelectListItem>();
foreach (DataRow rw in HospitalsListDB)
{
//example:
//rw[0]=101111
//rw[1]=Dublin
hospitalsItems.Add(new SelectListItem { Value = rw[0].ToString(),
Text = rw[1].ToString() });
}
return Json(
hospitalsItems,
JsonRequestBehavior.AllowGet);
return Json(hospitalsItems, JsonRequestBehavior.AllowGet);
}
return Json(Enumerable.Range(1, 6).Select(x => new { value = x, text = x }),
JsonRequestBehavior.AllowGet
);
return Json(hospitalsItems.ToList(), JsonRequestBehavior.AllowGet);
return Json(hospitalsItems, JsonRequestBehavior.AllowGet);