0

他の 1 つのドロップダウン リストで選択されている内容に基づいて入力したい Telerik ドロップダウン リストがあります。

例:

DDL1 で「Numbers」を選択すると、DDL2 で 1 から 10 までを表示したい場合、DDL1 で「Alphabets」を選択すると、DDL2 で a から z までを表示したいとします。

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");
            })%>    
4

1 に答える 1

1

次のように実行できます。

意見:

<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));
    }
}
于 2013-07-17T19:24:52.980 に答える