我有DropDownList
来自DataBinding
网络服务的WCF
项目。但是,每当我第一次启动页面时,列表中的第一项会自动被选中,而我希望它开始完全空白。也许我可以通过在列表项的顶部添加一个空白项来轻松解决这个问题,但是一旦用户点击DropDownList
,我就不希望这个空白项目显示出来。我能以任何简单的方式完成这项工作吗?
答案 0 :(得分:3)
以下是我的工作:
using (Entities db = new Entities())
{
ddlRelationships.DataSource = (from q in db.RelationshipTypes where (q.Active == true) orderby q.Description select q);
ddlRelationships.DataValueField = "Code";
ddlRelationships.DataTextField = "Description";
ddlRelationships.DataBind();
ddlRelationships.Items.Insert(0, "--Please Make Selection--");
ddlRelationships.Items[0].Value = "0";
}
注意,在将数据绑定到ddL之后,我然后在位置“0”处手动插入新项目。你应该能够很容易地适应你的情况。稍后在我的验证器中,如果/当我想强制用户选择时,我会检查是否选择了除“0”以外的其他内容。
答案 1 :(得分:2)
DDL.InsertAt(0, new Item('','0'));
DDL.Attributes["onclick"] = "if(this[0].value=='0') this.remove(0);";
答案 2 :(得分:1)
您可以使用DropDownList的ClearSelection方法。见http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listcontrol.clearselection.aspx
答案 3 :(得分:1)
if (!IsPostBack)
{
ddl_type.Items.Add(new ListItem("", "0"));
ddl_type.Items.Add(new ListItem("Item 1", "1"));
ddl_type.Items.Add(new ListItem("Item 2", "2"));
ddl_type.Items.Add(new ListItem("Item 3", "3"));
ddl_type.Items.Add(new ListItem("Item 4", "4"));
ddl_type.Attributes.Add("onclick", "manageType('" + ddl_type.ClientID + "');");
}
<script type="text/javascript">
function manageType(pType) {
var list = document.getElementById(pType);
if(list[0].value == '0') // the value of the removed value
list.remove(0);
}
</script>