2013-03-12 26 views
0

我試圖建立一個表格,你可以在MVC3中看到一個人(從數據庫加載)的當前狀態。用戶可以選擇更改和設置保存到數據庫的狀態。舉個例子:在MVC3中使用下拉列表和操作

Example

我很新的MVC3,我不知道如何把下拉菜單的值到控制器。

我用於顯示dropdownmenu/SET鍵代碼如下:

<td> 
    <%= Html.DropDownList("Statuses",new SelectList(ViewData.Model.Statuses))%> 
    <a href="/People/Set" class="btn btn-primary">Set</a> 
</td> 

我設法設置按鈕來調用的方法「把PeopleController,」但我不知道如何:

  1. 傳中值從下拉列表
  2. 確保我不是在值傳遞從錯誤的下拉列表(在這個例子中有3個下拉列表)。
  3. 我必須確保我正在更改正確人員的狀態 - 每個人都有一個唯一的姓名,如果我知道該人的姓名,我可以更改正確的狀態。

注意:我使用的是MVC3。

+0

更改設置鏈接到一個提交按鈕。將ddl和按鈕封裝在一個表單中。在你的控制器中寫一個post方法來處理數據 – 2013-03-12 16:39:16

+0

@四十二我怎樣才能得到這個人的id(姓名)?該ID顯示在同一行上,如ID:狀態|將狀態更改爲 – 2013-03-12 17:51:02

+0

您可以在表單中放置一個帶有ID的隱藏字段 – 2013-03-12 17:53:36

回答

1

爲了總結和澄清我上面的評論,將下拉列表包裝在一個表單中,將Set鏈接設置爲一個submint按鈕,並添加一個隱藏的元素來傳遞Id。

<td> 
     <% using(Html.BeginForm()) 
     {%> 
      <%=Html.DropDownList("Statuses",new SelectList(ViewData.Model.Statuses))%> 
      <%=Html.Hidden("Id") 
      <input type="submit" value="Set" /> 
     <%}%> 
    </td> 

(PS,考慮將飛躍到Razor視圖引擎,它更漂亮讀寫)

+0

工作良好。謝謝! – 2013-03-12 18:45:17