我有三个下拉列表,每个依赖于前一个。
使用MicrosoftAjax& amp;网络服务?
我还想在编辑视图中选择值。
我见过斯蒂芬沃尔特的tip41。
但我在每个视图上都有错误,即
<%= Html.DropDownList("--Select Make--", "Makes") %>
CS1061:'System.Web.Mvc.HtmlHelper'不包含'DropDownList'的定义,也没有扩展方法'DropDownList'接受类型'System.Web.Mvc.HtmlHelper'的第一个参数'(你错过了使用指令或程序集引用吗?)
那是什么原因?我正在使用MVC 1.0。
答案 0 :(得分:1)
我认为您已经转换了名称/选项标签。您可能还想尝试使用带有value参数的签名。但是,我不确定为什么会遇到编译问题,因为有一个版本的扩展需要两个字符串参数。 Docs可以在MSDN找到。
<%= Html.DropDownList( "Makes",
"--Select Make--" ) %>
OR
<%= Html.DropDownList( "Makes",
(IEnumerable<SelectListItem>)ViewData["Makes"],
"--Select Make--" ) %>
对于级联下拉列表,您可能希望使用jQuery,并根据第一个菜单中的选择为下一个菜单获取JSON键值对。在选择中添加一个onChange处理程序,并对控制器中的操作执行AJAX get / post以获取新值。我构造了一个键值对列表,并在JsonResult中返回它。在ajax查询的成功处理程序中,我获取该结果并使用返回的JSON用新选项替换相应select的内容。