2012-05-05 28 views
0

我有一個下拉,這是聯繫在一起的視圖模型視圖...如何獲得下拉值上回發

一個視圖模型的屬性:

public int selectDTypeID { get; set; } 

的視圖有一個下拉:

Html.DropDownListFor(
     model => model.selectDTypeID , 
     new SelectList(
       new List<Object>{ 
        new { value = 1 , text = "Test1" }, 
        new { value = 2 , text = "Test2" }, 
        new { value = 3 , text = "Test3"} 
       }, 
       "value", 
       "text" 
     ) 
    ) 

我怎樣才能得到下拉列表後的值回,而無需使用額外的參數...我只是希望能夠做到這一點...

[HttpPost] 
public ActionResult ContinueDonation(AddDonationViewModel model) 
{ 
var id = model.selectDTypeID; 

} 

我可以這樣做嗎?

回答

2

如果您的視圖是這樣一個強類型的視圖,

@model AddDonationViewModel 
@using (Html.BeginForm()) 
{ 
    @Html.DropDownListFor(
     model => model.selectDTypeID , 
     new SelectList(
       new List<Object>{ 
        new { value = 1 , text = "Test1" }, 
        new { value = 2 , text = "Test2" }, 
        new { value = 3 , text = "Test3"} 
       }, 
       "value", "text"))  

    <input type="submit" value="go" /> 
} 

當你點擊提交,選擇的值將在SelectdTYpeID財產提供您的HttpPost操作方法

[HttpPost] 
public ActionResult ContinueDonation(AddDonationViewModel model) 
{ 
    var id = model.selectDTypeID; // You have your selected ID here 
} 
+0

如何我仍然可以執行一個提交,但仍然在同一頁面上加載結果到一個div我的jquery是$('#btnSelect')。click(function(){$('#div')。load('/ Controller/ContinueDonation'...);我怎麼能做出類似這樣的工作?(從控制器返回一個局部視圖..) – 1Canuck16

+1

@redBarron:這是一個新問題嗎?你想使用jQuery表單提交併在頁面中顯示一些內容?請提供更多細節。如果與此無關,我會鼓勵你寫一個新問題。 – Shyju