Ich habe zwei Dropdown-Liste erstellt, was ich versuche zu tun ist, sie zu kaskadieren. So, dass die zweite von der ersten abhängig ist. Der Grund dafür ist, weil meine Datenbank ist wie dieseCascading Dropdown-Listen MVC 3 C#
angelegt****Car_iD Car_Name Car_drive**
1 Honda 2 wheel drive
2 Acura 4wheel drive
3 Toyota 2 wheel drive
4 Honda 4wheelDrive
Wie Sie Ich habe zwei Car_Names sehen können, die gleich sind, aber die Car_drive ist anders. Wenn der Benutzer also auf die erste Dropdown-Liste klickt, werden sie Honda, Acura, Toyota sehen ... aber wenn sie Honda wählen, würde die zweite Dropdown-Box 2Wheeldrive und 4Wheeldrive heißen.
mein Controller sieht gefällt das:
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());
}
Meine Ansicht wie folgt aussieht
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")) { %>
<%}%>
ich durch so viele Tutorial gelesen haben, aber es kommt nichts wirklich nahe. Ich habe mich mit den MVC Awesome-Sachen beschäftigt, aber ich bekam immer wieder Fehler, weil SelectableItem keine Referenzen enthielt. Jede Hilfe bei der Umsetzung wäre großartig.
Update Ich habe diese
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);
}
nun etwas Hilfe um das Skript zu schreiben, um meine Controller hinzugefügt, um diese Informationen von der Steuerung zu erhalten.
<script type = "text/javascript">
$('#Car_Names').change(function(){
var selectedName = $(this).val();
$getJson('@Url.Action("
Danke für den Stecker. Es ist auch gut, meine http://www.asp.net/mvc/tutorials/javascript/working-with-the-dropdownlist-box-and-jquery/using-the-dropdownlist-helper-with-aspnet-mvc zu überprüfen. - Auf ViewModel v.ViewBag - ViewBag ist gut und einfach zu aktualisieren. Es ist schließlich nicht das Modell, es sind wirklich Meta-Daten über das Modell – RickAndMSFT