ASP.NET MVC 3 でカスケード ドロップダウン メニューを作成する場合、そのバージョンで非推奨になった古いソリューションやコマンドに遭遇すると、圧倒されてしまうことがあります。このガイドでは、C# を使用してカスケード ドロップダウン メニューを作成し、MVC 3 との互換性を確保するための段階的な方法を説明します。
MVC アプリケーションの基礎はモデルです。この例では、ドロップダウン メニューのデータを表す MyViewModel というモデルを作成します:
<code class="language-csharp">public class MyViewModel { public int? Year { get; set; } public int? Month { get; set; } // 第一个下拉菜单的年份选项集合 public IEnumerable Years { get { return Enumerable.Range(2000, 12).Select(x => new SelectListItem { Value = x.ToString(), Text = x.ToString() }); } } }</code>
コントローラーはモデルとビューの間の仲介者として機能します。ここでは、最初のドロップダウンに年を入力するアクションと、選択した年に基づいて月を提供する別のアクションを定義します:
<code class="language-csharp">public class HomeController : Controller { public ActionResult Index() { var model = new MyViewModel(); return View(model); } public ActionResult Months(int year) { if (year == 2011) { return Json( Enumerable.Range(1, 3).Select(x => new { value = x, text = x }), JsonRequestBehavior.AllowGet ); } return Json( Enumerable.Range(1, 12).Select(x => new { value = x, text = x }), JsonRequestBehavior.AllowGet ); } }</code>
ビューには、アプリケーションのユーザー インターフェイスが表示されます。この例では、Razor 構文を使用して 2 つのドロップダウン メニューを定義します。1 つは年を選択するため、もう 1 つは月を選択するためです:
<code class="language-csharp">@model AppName.Models.MyViewModel @Html.DropDownListFor( x => x.Year, new SelectList(Model.Years, "Value", "Text"), "-- 选择年份 --" ) @Html.DropDownListFor( x => x.Month, Enumerable.Empty(), "-- 选择月份 --" ) <script> $('#Year').change(function () { var selectedYear = $(this).val(); if (selectedYear != null && selectedYear != '') { $.getJSON('@Url.Action("Months")', { year: selectedYear }, function (months) { var monthsSelect = $('#Month'); monthsSelect.empty(); $.each(months, function (index, month) { monthsSelect.append($('<option>', { value: month.value, text: month.text })); }); }); } }); </script></code>
この JavaScript コードは、選択した年を変更してから数か月後にコントローラー アクションへの AJAX 呼び出しをトリガーします。次に、返された JSON データを使用して、2 番目のドロップダウン メニューに適切な月を設定します。
このアプローチは、C# を使用して ASP.NET MVC 3 にカスケード ドロップダウン メニューを実装する明確かつ簡潔な方法を提供します。これらの手順に従うことで、階層データを管理するための使いやすく応答性の高いインターフェイスを簡単に作成できます。
以上がC# を使用して ASP.NET MVC 3 にカスケード ドロップダウンを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。