私は2つのドロップダウンリストを作成しました。私がやろうとしているのは、それらをカスケードにすることです。2番目のものが最初のものに依存するように。その理由は、私のデータベースがこのようにレイアウトされているためです
****Car_iD Car_Name Car_drive**
1 Honda 2 wheel drive
2 Acura 4wheel drive
3 Toyota 2 wheel drive
4 Honda 4wheelDrive
ご覧のとおり、同じ Car_Name が 2 つありますが、Car_drive は異なります。したがって、ユーザーが最初のドロップダウン リストをクリックすると、Honda、Acura、Toyota が表示されますが、Honda を選択すると、2 番目のドロップダウン ボックスに 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("