簡體   English   中英

ASP.NET MVC Razor:將空值添加到DropDownList

[英]ASP.NET MVC Razor: Add empty value to a DropDownList

我試了幾個小時讓它工作,但現在我不得不問...

正如讀入
/ 942262 / add-empty-value-to-a-dropdownlist-in-asp-net-mvc/ 3780614 / mvc-clear-default-selected-value-of-selectlist
我想在我的ASP.NET MVC Razor WebApp中使用Entity Framework 5向下拉列表添加一個空格,以強制用戶輸入。

我按照了信息,但視圖中發生的是: http//i.stack.imgur.com/EXSgT.png
因此,如您所見,有一個空白區域,但默認情況下不會選中它。 相反,我的“testproject”,作為我的控制器的第一個值,被標記為..不是空的空間。 那我在哪里失敗了?

非常感謝。

我的模型看起來像這樣:

    [...]
    using System.Web.Mvc;

    public class UploadTranferContainer
    {    
         [DisplayName("Project")]
         public int ProjectID { get; set; }

         public SelectList Projects { get; set; }
    }

我的控制器填充數據如下:

    UploadTranferContainer container = new UploadTranferContainer();
    container.Projects = new SelectList(db.Projects.AsEnumerable(), "ProjectID", "ProjectName");

並且視圖解壓縮我的容器,如:

        <div class="editor-label metadataLabel">
            @Html.LabelFor(x => x.ProjectID)
        </div>
        <div class="editor-field">
            @Html.DropDownListFor(x => x.ProjectID, Model.Projects, string.Empty)
        </div>            

下拉列表的選定值將是Model.ProjectID的值(如果找到)

如果要將其顯示為select的第一個(空)選項,請確保ProjectID的值不包含在選擇列表項Model.Projects

您可以使用以下方法下拉空值

@Html.DropDownListFor(x => x.ProjectID, new SelectList(Model.Projects, "ProjectID", "ProjectName"), " ")

允許創建一個空列表項

var area = new[] { new tbl_Area { AreaID = -1, AreaName = "Please Select Main Area" } };

要么

ViewBag.SubAreaList = new[] { new tbl_Area { AreaID = -1, AreaName = "Please Select Main Area" } };

剃刀

@Html.DropDownList("DdlSubAreas", new SelectList(ViewBag.SubAreaList, "AreaID", "AreaName"), new { size = "10" });

tbl_Area可以是類或數據模型

class tbl_Area{
   public int AreaID {get;set;}
   public string AreaName {get;set;}
}

暫無
暫無

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

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