【发布时间】:2014-05-22 01:03:27
【问题描述】:
我想知道在 ASP.NET MVC 5 中是否引入了一些新的帮助程序或方法来实现级联下拉列表。我知道一种在 MVC 3 和 MVC 4 中实现级联下拉列表行为的方法,即使用 JSON 调用
那么有人知道在 MVC 5 中实现级联下拉列表的更好方法吗?
【问题讨论】:
标签: asp.net-mvc razor cascadingdropdown
我想知道在 ASP.NET MVC 5 中是否引入了一些新的帮助程序或方法来实现级联下拉列表。我知道一种在 MVC 3 和 MVC 4 中实现级联下拉列表行为的方法,即使用 JSON 调用
那么有人知道在 MVC 5 中实现级联下拉列表的更好方法吗?
【问题讨论】:
标签: asp.net-mvc razor cascadingdropdown
我知道这是一个老问题,但仍然有人会觉得它很有用
我一直在寻找相同的东西,但找不到任何稳定且有用的东西,所以我最终自己实现了它:
请查看我创建的 Mvc.CascadeDropDown 助手。 它适用于从 MVC3 开始的所有 MVC 版本,并且不需要任何客户端库(它使用纯原生 JavaScript)。
用法很简单:
@using Mvc.CascadeDropDown
//First simple dropdown
@Html.DropDownListFor(m=>m.SelectedCountry, Model.Countries,
"Please select a Country", new {@class="form-control"})
//Dropdown list for SelectedCity property that depends on selection of SelectedCountry property
@Html.CascadingDropDownListFor(
expression: m => m.SelectedCity,
triggeredByProperty: m => m.SelectedCountry, //Parent property that trigers dropdown data loading
url: Url.Action("GetCities", "Home"), //Url of action that returns dropdown data
actionParam: "country", //Parameter name for the selected parent value that url action receives
optionLabel: "Please select a City", // Option label
disabledWhenParrentNotSelected: true, //If true, disables dropdown until parrent dropdown selected
htmlAttributes: new { @class = "form-control" }) //Html attributes
希望对你们中的一些人有所帮助
【讨论】:
_分割值。
不,MVC 5 中没有新的帮助程序或方法可以提供帮助。
Ajax HTML 帮助器在更新中被很大程度上忽略了。有些事情可能对与此相关的内容有所帮助:
@Html.EditorFor(m => m.FieldName, new { htmlAttributes = new { @class = "form-control" } }) 中传递 html 属性
我上周实现了级联下拉菜单,并使用了您提到的经过验证的真实 JSON 调用。我喜欢将 this jQuery plugin 与带有新属性路由的 Web API v2 结合使用。
【讨论】: