2016-03-22 36 views
4

我使用我的枚舉渲染下拉列表框,我只有3個選項,但由於某種原因,它顯示四個。頂部和默認選項是簡單的空白/空,我想這個刪除。我希望頂部/默認值爲'Option1'。刪除EnumDropDownListFor框頂部的空白/空條目

枚舉:

public enum EventType 
{ 
    [Display(Name = "Option 1")] 
    Option1, 

    [Display(Name = "Option 2")] 
    Option2, 

    [Display(Name = "Option 3")] 
    Option3 
} 

查看:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" }) 

感謝您的幫助。

回答

6

您的第二個參數是「選項標籤」,用於設置下拉菜單中的第一項。從文檔:

使用過載不會在選項標籤以「爲默認爲空項文」:

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" }) 

UPDATE

我只是想你的代碼。當我做兩個:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" }) 

而且

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" }) 

我得到:

enter image description here

我唯一一次獲得在下拉另一種選擇是,當我傳遞一個字符串第二個參數,比如「選擇...」

任何機會,你正在做一些用javascript將項目添加到下拉菜單的東西?

+0

我以前試過這個,空白值仍然存在,所以我嘗試了在我的OP中是什麼,空白值也仍然存在,不知道如何擺脫它。 – James

+0

我不想讓'默認空物品的文字'。當文本框'出現'時,我想要顯示第一個枚舉並顯示在列表頂部。 – James

+0

我不認爲我正在做任何與JavaScript的事情會做到這一點。我已經設法讓Option1選擇bu默認,但是當你點擊下拉列表時,它上面仍然有一個空白,這是沒有意義的! – James