2009-02-03 89 views

回答

123

下面將在ViewData [「Menu」]項目中指定的SelectList(或IEnumerable)前面加上string.Empty。選擇將有id和名字MenuID

<%= Html.DropDownList("MenuID", 
         (IEnumerable<SelectListItem>)ViewData["Menu"], 
         string.Empty) %> 

文檔:DropDownList method

+12

感謝。默認選項optionLabel的參數名稱讓我失望:) – 2009-02-04 01:44:13

+4

Geez ...我也是我開始寫我自己的幫手方法...垃圾名稱恕我直言 - 聽起來像它會輸出一個

-5

這裏提出的解決方案工作對我非常好:http://forums.asp.net/t/1142484.aspx/1

的基本想法是,你設置你的DropDownListtrueAppendDataBoundItems屬性,然後放在一個asp:ListItemDropDownList,這將成爲您的默認項目,其中所有的數據綁定項目都將在它之後。

0

這種簡單的解決方案爲我mvc5項目:

鑑於

@{ 
    Model.ModelItemsList.Add(new ModelItem{ }); 
    SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName"); 
} 

只需添加一個新的項目要在視圖中顯示List<>。 在我的情況下,我添加了一個空的「ModelItem」給我的List<ModelItem> ModelItemList。由於我的ModelItemID是一個Guid,我必須在我的控制器方法中檢查Guid.Empty,並執行一些代碼。 這就是全部。

6

例如:

Controller : 

    private void InitScreenInfoCollate() 
    { 
     IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode(""); 
     ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null); 

    } 

    View : 
    @Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"}) 

結果:

inline image

相關問題