我创建了两个dropdownlist,我试图做的是让它们级联。这样第二个依赖于第一个。究其原因是因为我的数据库奠定了这样级联下拉列表MVC 3 C#
****Car_iD Car_Name Car_drive**
1 Honda 2 wheel drive
2 Acura 4wheel drive
3 Toyota 2 wheel drive
4 Honda 4wheelDrive
正如你可以看到我有两个Car_Names是相同的,但Car_drive是不同的。所以当用户点击第一个下拉列表时,他们会看到本田,讴歌,丰田......但如果他们选择本田,第二个下拉框会说2wheeldrive和4wheeldrive。
我的控制器看起来喜欢这样的:
public ActionResult Home()
{
ViewData["Car_Name"] = new SelectList(_context.Cars.Select(a => a.Car_Name).Distinct());
ViewData["Car_drive"] = new SelectList(_context.Cars.Select(a => a.Car_drive).Distinct());
}
我的视图看起来像这样
Choose an Car
<label for= "Car_Names"></label>
<%= Html.DropDownList("Car_Name")%>
<label for= "Application_Names"></label>
<%= Html.DropDownList("Car_drive")%>
<input type = "submit" value ="Update" />
<% using(Html.BeginForm("Home", "Home")) { %>
<%}%>
我经历了这么多的教程读,但没有真正接近。我接近MVC Awesome的东西,但我不断收到错误,说SelectableItem缺少一个引用。任何帮助实现这个目标都很好。
更新 我已经加入这个我控制器
public ActionResult CarNameChange(string Car_Name)
{
var car_drive = from env in _context.Cars
where env.Car_Name == Car_Name
select car_drive;
return Json(ViewData["Car_Drive"] = car_drive);
}
现在需要一些帮助,写剧本,以获得从控制器此信息。
<script type = "text/javascript">
$('#Car_Names').change(function(){
var selectedName = $(this).val();
$getJson('@Url.Action("
感谢您的插件。这也很好,也审查我的http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc - - 在ViewModel v。ViewBag - ViewBag很好,易于更新。毕竟这不是模型,而是关于模型的元数据 – RickAndMSFT 2012-04-04 21:57:08