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# ASP.NET MVC 3级联组合框不';行不通_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# ASP.NET MVC 3级联组合框不';行不通

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

我有两个组合框。我以这种方式填充的第一个ComboBox运行良好:

@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);