2012-09-15 241 views
3

如何在用戶選擇具有@Html.DropDownListFor的項目時執行某些邏輯?ASP.NET MVC 3 DropDownListFor

根據用戶點擊的內容,我想更新模型並將其重新傳遞給新編輯的數據。

下拉列表中的代碼如下:

@Html.DropDownListFor(m => m.Categories, Model.Categories, "Select a Category") 

回答

1

簡單的方法是使用jQuery,例如:

$(document).ready(function() { 
    $("#Categories").change(function() { 
     var strSelected = ""; 
     $("#Categories option:selected").each(function() { 
      strSelected += $(this)[0].value; 
     }); 
     var url = "/Home/MyAction/" + strSelected; // or send with json 

     $.post(url, function(data) { 
      // do something if necessary 
     }); 
    }); 
}); 

1

您可以使用JavaScript。

看看DropDownListFor的重載 - 你可以傳入new { onchange="yourJavascriptMethod" }或給它一個id/name並在javascript中註冊事件處理程序。

+0

你能模擬一些代碼並告訴我如何做到這一點嗎?我是一名研究生,也是網絡開發的新手。 – Subby

+0

您可以添加參數'new {onchange =「yourJavascriptMethod」}「,然後創建將數據發佈到服務器的javascript函數。 – webdeveloper

4

使用下拉列表

@Html.DropDownList("ddlCountry", ViewBag.Country as SelectList, "Select...", new { onchange = "FetchStates();" }) 

下面的鏈接級聯下拉列表的onchange事件顯示示例這 Cascading Dropdown

+1

好喜歡,淘汰賽js是使用完整的...!好的 – AppsDev

相關問題