我将我的ddl绑定到我的数据库,如下所示,但是如何在绑定值的顶部添加默认文本,使其显示为:
Select Color ---> default text
Red ---> database value
Blue ---> database value
Green ---> database value
Run Code Online (Sandbox Code Playgroud)
码:
DropDownList ddlSize = (DropDownList)FormView_Product.Row.Cells[0].FindControl("ddlSize");
CommerceEntities db = new CommerceEntities();
ddlColor.DataSource = from p in db.ProductTypes
where p.ProductID == pID
orderby p.Color
select new { p.Color };
ddlColor.DataTextField = "Color";
Run Code Online (Sandbox Code Playgroud)
谢谢!
Kei*_*ith 43
数据绑定后,执行以下操作:
ddlColor.Items.Insert(0, new ListItem("Select","NA")); //updated code
Run Code Online (Sandbox Code Playgroud)
或者按照Brian的第二个建议,如果你想在标记中做到这一点.
您应该添加一个RequiredFieldValidator控件并将其InitialValue设置为"NA".
<asp:RequiredFieldValidator .. ControlToValidate="ddlColor" InitialValue="NA" />
Run Code Online (Sandbox Code Playgroud)
Bri*_*ins 14
你可以通过编程方式完成:
ddlColor.DataSource = from p in db.ProductTypes
where p.ProductID == pID
orderby p.Color
select new { p.Color };
ddlColor.DataTextField = "Color";
ddlColor.DataBind();
ddlColor.Items.Insert(0, new ListItem("Select", "NA"));
Run Code Online (Sandbox Code Playgroud)
或者将其添加到标记中:
<asp:DropDownList .. AppendDataBoundItems="true">
<Items>
<asp:ListItem Text="Select" Value="" />
</Items>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
您可以以编程方式或在标记中添加它,但如果以编程方式添加它而不是Add
项目,则应将Insert
其作为位置零,以便它是第一项:
ddlColor.DataSource = from p in db.ProductTypes
where p.ProductID == pID
orderby p.Color
select new { p.Color };
ddlColor.DataTextField = "Color";
ddlColor.DataBind();
ddlColor.Items.Insert(0, new ListItem("Select Color", "");
Run Code Online (Sandbox Code Playgroud)
默认项目应该是列表中的第一项。如果您只是Add
选择它,它将位于底部并且默认情况下不会被选中。