根据在其他列表中选择的内容填充Telerik下拉列表
本文关键字:填充 Telerik 下拉列表 选择 其他 列表 | 更新日期: 2023-09-27 18:23:42
我有一个Telerik下拉列表,我想根据为另一个下拉列表选择的内容来填充它。
例如:
如果我为DDL1选择"数字",那么我希望在DDL2中显示1到10。
以下是我如何填充DDL1:
<%= Html.Telerik().DropDownList().Name("Type")
.HtmlAttributes(new { @id = "Type" })
.Items(items => {
items.Add().Text("").Value("");
items.Add().Text("Numbers").Value("Numbers");
items.Add().Text("Alphabets").Value("Alphabets");
})%>
你可以这样做:
视图:
<p>
<%: Html.Label("Type") %>
<%: Html.Telerik().DropDownList().Name("Type")
.HtmlAttributes(new { id = "type" })
.Items(items => {
items.Add().Text("").Value("");
items.Add().Text("Numbers").Value("1");
items.Add().Text("Alphabets").Value("2");
})
.CascadeTo("Values")
%>
</p>
<p>
<%: Html.Label("Values" %>
<%: Html.Telerik().DropDownList().Name("Values")
.HtmlAttributes(new { id = "values" })
.DataBinding(b => b.Ajax().Select("GetDropDownValues", "Home"))
%>
</p>
控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
public JsonResult GetDropDownValues(int? type)
{
var values = new List<string>();
switch (type)
{
case 1:
values = Enumerable.Range(1, 10).Select(n => n.ToString()).ToList();
break;
case 2:
values = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray().Select(c => c.ToString()).ToList();
break;
}
return Json(new SelectList(values));
}
}