C# 在MVC4中,如何将下面的语句的值设置为零
上面的下拉列表是从控制器绑定的。如果希望默认选项具有定义的值,则需要在将其发送到视图之前将其添加到选项中,例如:C# 在MVC4中,如何将下面的语句的值设置为零,c#,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,上面的下拉列表是从控制器绑定的。如果希望默认选项具有定义的值,则需要在将其发送到视图之前将其添加到选项中,例如: @Html.DropDownList("SID", new SelectList(@ViewBag.SiteTypes, "SID", "SiteName"), "-select SiteName-") 默认值为零或您的意思是什么?选择“选择站点名称”时,它应传递零值@ehsansajjadDropDownList的第三个参数用于添加具有空值的标签选项。其设计用于验证(例如,使用属
@Html.DropDownList("SID", new SelectList(@ViewBag.SiteTypes, "SID", "SiteName"), "-select SiteName-")
默认值为零或您的意思是什么?选择“选择站点名称”时,它应传递零值@ehsansajjad
DropDownList
的第三个参数用于添加具有空值的标签选项。其设计用于验证(例如,使用属性上的[Required]
属性。您可以明确为什么要返回0
并失去验证的好处,但您需要构造一个IEnumerable
,第一个项具有Value=“0”
和Text=“-select SiteName-”
(并删除控制器中的第三个参数):var SiteTypes=db.tbl\u Site.OrderBy(p=>p.SID);ViewBag.SiteTypes=SiteTypes;如何传递默认值@mattytommo@MansoorShaik检查我的edit@MansoorShaik没问题,我很高兴能帮上忙
List<SelectListItem> yourOptions = db.tbl_Site
.OrderBy(p => p.SID)
.Select(p => new SelectListItem
{
Text = p.Text, //whatever field is text
Value = p.SID.ToString() //whatever field is the value
})
.ToList();
var placeHolder = new SelectListItem
{
Text = "--select Site--",
Value = "0"
};
yourOptions.Insert(0, placeHolder);
ViewBag.SiteTypes = yourOptions;
@Html.DropDownList("SID", (SelectList)ViewBag.SiteTypes, "SID", "SiteName"))