我正在使用Kendo UI ASP.NET MVC
,我想使用它进行级联下拉列表。我在第三个下拉列表中显示问题,该列表显示了数据库中的所有值,而不是第二个下拉列表中选定的id值。Kendo MVC级联Dropdownlist问题
我的控制器代码: -
public ActionResult CDropdown()
{
return View();
}
public JsonResult GetCascadeDept()
{
return Json(db.DeptData.Select(c => new { DepartmentID = c.DepartmentID, DepartmentName = c.DepartmentName }), JsonRequestBehavior.AllowGet);
}
public JsonResult GetCascadeEmployee(int? Departmets)
{
var empdata = db.EmpData.AsQueryable();
if (Departmets != null)
{
empdata = empdata.Where(p => p.DepartmentID == Departmets);
}
return Json(empdata.Select(p => new { EmployeeID = p.EmployeeID, EmpName = p.EmpName }), JsonRequestBehavior.AllowGet);
}
public JsonResult GetCascadeMovies(int? Employees)
{
var d = from c in db.EmpMovies orderby c.MovieName select c;
var moviedata = db.EmpMovies.AsQueryable();
if (Employees != null)
{
int cat = Convert.ToInt32(Employees);
moviedata = moviedata.Where(p => p.EmployeeID == Employees);
}
return Json(moviedata.Select(p => new { MovieId = p.MovieId, MovieName = p.MovieName }), JsonRequestBehavior.AllowGet);
}
我查看代码: -
<div>
<p>
<label for="Departmets">Department :- </label>
@(Html.Kendo().DropDownList()
.Name("Departmets")
.HtmlAttributes(new { style = "width:300px" })
.OptionLabel("-- Select Department --")
.DataTextField("DepartmentName")
.DataValueField("DepartmentID")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetCascadeDept", "Home");
//.Data("FilterDepartmets");
})
.ServerFiltering(true);
})
.SelectedIndex(0)
)
</p>
<p>
<label for="Employees">Employee :- </label>
@(Html.Kendo().DropDownList()
.Name("Employees")
.HtmlAttributes(new { style = "width:300px" })
.OptionLabel("-- Select Employee --")
.DataTextField("EmpName")
.DataValueField("EmployeeID")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetCascadeEmployee", "Home")
.Data("FilterEmployees");
})
.ServerFiltering(true);
})
.Enable(false)
.AutoBind(false)
.SelectedIndex(0)
.CascadeFrom("Departmets")
)
<script type="text/javascript">
function FilterEmployees() {
return {
Departmets: $("#Departmets").val()
};
}
</script>
</p>
<p>
<label for="Movies">Movie Names :- </label>
@(Html.Kendo().DropDownList()
.Name("Movies")
.HtmlAttributes(new { style = "width:300px" })
.OptionLabel("-- Select Movie --")
.DataTextField("MovieName")
.DataValueField("MovieId")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetCascadeMovies", "Home")
.Data("FilterMovies");
})
.ServerFiltering(true);
})
.Enable(false)
.AutoBind(false)
.SelectedIndex(0)
.CascadeFrom("Employees")
)
<script type="text/javascript">
function FilterMovies() {
return {
Movies: $("#FilterMovies").val()
};
}
</script>
</p>
</div>
我使用的剑道UI ASP MVC下拉列表 - 第三下拉菜单可显示所有的表中的值 - 该ID没有得到。我不知道它为什么会发生。任何方案?
太感谢你了爵士它的作品绝对完美的帮助.. :) :) –