2011-06-06 42 views
2

我在MVC 2名下拉列表3 Razor視圖這樣的:如何在MVC Razor View中添加新選項以下拉列表?

@Html.DropDownListFor(m => m.UserGroups, Model.UserGroups.Select(x => new SelectListItem() { Text = x.Name, Value = x.Id }), new { @class="pad5" }) 

它們工作得很好。我有3個改變 -

1)第一個需要一個新的選項添加到此列表的頂部。

<option value="">--pick--</option> 

2)第二個需要加載時選擇一個特定的選項。 假設我想在我的第二個列表中預選這個選項。

<option value="100">My Friends</option> 

3)兩個下拉菜單都有相同的數據源。這導致兩個列表在表單上具有相同的名稱。我如何更改名稱?

我能夠改變的ID,但其名稱似乎不改變,如果我加入這個到最後:

new { @id="ViewGroup", @name="ViewGroup"} 
+0

我可以通過jquery在頁面加載後做到這一點。但更喜歡在剃刀視圖聲明中執行此操作。 – kheya 2011-06-06 18:11:33

回答

2

如果你有一個視圖模型創建的,你可以簡單地爲每個下拉做:

@model Namespace.myViewModel 
<select id="dropdownOne" name="dropdownOne"> 
    <option value="">--pick--</option> 
    @foreach (var item in Model.myModel) 
    { 
     if(@item.id==100) { 
      <option value="@item.id" selected="selected">@item.Name</option> 
     } 
     else { 
      <option value="@item.id>@item.Name</option> 
     } 
    } 
</select> 
+0

而不是手動循環/建立dropwown,這可以使用Html.DropDownListFor()聲明我有嗎? – kheya 2011-06-06 18:33:43

+0

我不知道說實話,我是用DropDownListFor試過的,但問題在於我的編程有很多條件,所以這是一條很長的路線,我發現這種方式更容易。 – 2011-06-06 18:39:54

相關問題