2015-09-22 45 views
0

我無法設置一個標題爲「請選擇」的佔位符,因此我只是將其作爲項目放在我的下拉列表中,但現在可以選擇「請選擇」,其中有點麻煩。有沒有辦法爲下面的下拉列表設置一個佔位符。如何爲下拉列表添加佔位符

<div class="form-group"> 
       @Html.LabelFor(model => model.Type, htmlAttributes: new { @class = "control-label col-md-2" }) 
       <div class="col-md-10"> 
        @Html.DropDownListFor(model => model.Type, new List<SelectListItem>  
         { new SelectListItem{Text="Please select type"}, 
          new SelectListItem{Text="Book"}, 
          new SelectListItem{Text="Book chapter"}, 
          new SelectListItem{Text="Journal article"}, 
          new SelectListItem{Text="Conference"}}, htmlAttributes: new { @class = "form-control" }) 
        @Html.ValidationMessageFor(model => model.Type, "", new { @class = "text-danger" }) 

       </div> 
      </div> 
+1

[@ Html.DropDownListFor如何設置默認值]的可能重複(http://stackoverflow.com/questions/23799091/html-dropdownlistfor-how-to-set-default-value) – Jesse

+0

它是沒有意義的選擇一個'placholder'。正確的做法是使用'DropDownListFor()'的重載,它接受一個'optionLabel'並移除集合中的第一個'SelectListItem' - @@ Html.DropDownListFor(m => m.Type,new List { ...},「請選擇」,新的{@class =「form」})'創建第一個選項並帶有'null'值 –

回答

-1

重載4,DropDownListFor幫手5 & 6都包含一個參數optionLabel,其可用於你的目的。

+0

您是否介意重載4,5和6的含義?我對MVC很陌生 –

+0

看看這裏:https://msdn.microsoft.com/en-us/library/vstudio/ms229029(v=vs.100).aspx。當輸入Html.DropDownListFor時,你應該得到一個可能的參數輸入列表。項目4,5和6應該有一個string類型的'optionLabel'參數。 – Frayt

+0

謝謝你生病看看 –