[英]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.