簡體   English   中英

ASP.MVC DropDownListFor默認值

[英]ASP.MVC DropDownListFor Default Value

我正在嘗試在我的視圖中生成一個下拉列表,如下所示,除了我希望我的選項標簽( "Please select..." )的值為-1,因為空白已經被另一個選項占用。 反正有沒有將它添加到我的控制器或視圖模型中的選擇列表,或創建一個新的HTML幫助程序?

<%: Html.DropDownListFor(model => model.stuff.Id, new SelectList(Model.stuff, "Id", "Name"), "Please select...")%>

謝謝

我希望我的選項標簽(“請選擇...”)的值為-1

您不能使用DropDownListFor幫助程序開箱即用。 對於此值,它將始終使用空白。 你有兩種可能性:

  1. 寫一個自定義助手
  2. 手動將其添加到集合中

實際上你有第三種可能性,恕我直言是最好的,我建議你:

不要將空白用作值。 這應保留為Please Select默認值。 使用blank作為用戶實際可以選擇的值的值似乎不合邏輯。 您可能還會遇到驗證問題。

從數據庫中獲取值后,只需使用Concat方法將新項添加到SelectList。 然后將值設置為0並將文本設置為“請選擇”。

 var selectList = new SelectList(types.Concat( new[]{new MediaType() {MediaTypeId = 0, Type = "Please select"}})
            , "mediatypeid", "type");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM