我试了几个小时才让它工作,但现在我不得不问..
正如在
中读到的
/942262/add-empty-value-to-a-dropdownlist-in-asp-net-mvc和
/3780614/mvc-clear-default-selected-value-of-selectlist
我想在带有 Entity Framework 5 的 ASP.NET MVC Razor WebApp 中的下拉列表中添加一个空白区域,以强制用户输入。
我遵循了这些信息,但是 View 中发生的是:http://i.stack.imgur.com/EXSgT.png
因此,如您所见,有一个空白区域,但默认情况下未选中它。相反,我的“testproject”作为我 Controller 的第一个值被标记为……而不是空白区域。
那么我哪里失败了?
非常感谢。
我的模型是这样的:
[...]
using System.Web.Mvc;
public class UploadTranferContainer
{
[DisplayName("Project")]
public int ProjectID { get; set; }
public SelectList Projects { get; set; }
}
我的 Controller 将数据填入如下:
UploadTranferContainer container = new UploadTranferContainer();
container.Projects = new SelectList(db.Projects.AsEnumerable(), "ProjectID", "ProjectName");
然后 View 像这样解压我的容器:
<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>
最佳答案
您可以使用以下方法处理空值下拉
@Html.DropDownListFor(x => x.ProjectID, new SelectList(Model.Projects, "ProjectID", "ProjectName"), " ")
关于c# - ASP.NET MVC Razor : Add empty value to a DropDownList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20361183/