我創建了兩個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