2015-11-03 51 views
0

所以這裏有很多關於如何將DropDownList選定值傳遞給ActionResult的很好的答案。然而,我找不到任何關於傳入選定的DropDownList值和項目的ID。如何將項目ID和DropDownList選定項目值傳遞給ActionResult?

爲了說明問題,我正在處理一個表,其中每一行表示一個項目,唯一的用戶可變長度值是用觸發更新的下拉列表和按鈕控制的狀態。由於數據庫中的狀態列是不可空的,所以預先選擇了下拉列表的值。當用戶點擊按鈕時,它應該發送相關項目類型的ID以及用戶想要爲該項目更改的狀態,以便ActionResult可以正確更新數據庫

我的當前視圖代碼如下所示:

<div id="divGrid" style='position:absolute; width:auto; padding-right: 5%'> 
    <table id="checklistGrid" class="table table-bordered table-striped grid"> 
     <tr> 
      <th>@Html.DisplayNameFor(model => model.ww)</th> 
      .... // more table headings 
     </tr> 
     @foreach (var ww in Model.GroupBy(x => x.ww)) 
     { 
      <tr class="ww-header"> 
       <td colspan="12"><span class="h2">@ww.Key</span></td> 
      </tr> 
      foreach (var manager in ww.GroupBy(x => x.manager)) 
      { 
       <tr class="manager-header"> 
        <td colspan="12"><span class="h4">@manager.Key</span></td> 
       </tr> 
       foreach (var item in manager) 
       { 
        <tr class="row-header"> 
         <td>@Html.DisplayFor(modelItem => item.ww)</td> 
         .... //more columns 
         <td> 
          @* ------------- Area in question ------------- *@ 
          @{ 
           List<string> ddl = new List<string> { "Done", "Not Done", "N/A" }; 
           SelectList sl = new SelectList(ddl, item.status); 

           using (Html.BeginForm("Update", "Checklist", new { id = item.ID, /* DDL Selected Value */})) 
           { 
            @Html.DropDownList("StatusDDL", sl); 

            <input type="submit" value="Update" /> 
           } 
          } 
          @* --------------------------------------------- *@ 
         </td> 
         <td> 
          @Html.DisplayFor(modelItem => item.applied_by) 
         </td> 
         @* [...] *@ 

控制器:

public ActionResult Update(int ID, string newStatus) 
{ 
    //// Get the model 
    //TaskInfo taskInfo = db.taskInfoSet.Where(m => m.ID == ID).FirstOrDefault(); 

    //// Update properties 
    //taskInfo.status = newStatus; 

    //// Save and redirect 
    //db.Entry(taskInfo).State = EntityState.Modified; 
    //db.SaveChanges(); 

    return RedirectToAction("Index"); 
} 

鑑於上述情況我該如何編寫它使得這兩個選擇的下拉值和item.ID發送到的ActionResult?

+0

的''你'