Asp.net 页面加载时下拉列表为空

Asp.net 页面加载时下拉列表为空,asp.net,wcf,data-binding,drop-down-menu,Asp.net,Wcf,Data Binding,Drop Down Menu,我有一个DropDownList,其中填充了来自WCFwebservice的DataBinding。但是,每当我第一次启动页面时,列表中的第一项会自动被选中,而我希望它完全为空。也许我可以通过在列表项的顶部添加一个空白项来轻松解决这个问题,但我不希望在用户单击下拉列表后显示此空白项。我能用任何简单的方法完成这项工作吗?以下是我的工作: using (Entities db = new Entities()) { ddlRelationshi

我有一个
DropDownList
,其中填充了来自
WCF
webservice的
DataBinding
。但是,每当我第一次启动页面时,列表中的第一项会自动被选中,而我希望它完全为空。也许我可以通过在列表项的顶部添加一个空白项来轻松解决这个问题,但我不希望在用户单击
下拉列表后显示此空白项。我能用任何简单的方法完成这项工作吗?

以下是我的工作:

        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”以外的内容。

您可以使用DropDownList的ClearSelection方法。如果(!IsPostBack),请参见 { ddl_type.Items.Add(新列表项(“,“0”); ddl_type.Items.Add(新列表项(“项目1”、“1”)); ddl_type.Items.Add(新列表项(“第2项”、“第2项”)); ddl_type.Items.Add(新列表项(“第3项”、“第3项”)); ddl_type.Items.Add(新列表项(“第4项”、“第4项”)); ddl_type.Attributes.Add(“onclick”、“manageType('“+ddl_type.ClientID+”);”; } 函数管理类型(pType){ var list=document.getElementById(pType); if(list[0].value='0')//删除的值的值 列表。删除(0); }
当用户选择其他项目时,是否要删除空项目?这不是他想要的,他已经完成了,但现在他需要删除该项目,一旦用户选择其他选项。
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>
DDL.InsertAt(0, new Item('','0'));
DDL.Attributes["onclick"] = "if(this[0].value=='0') this.remove(0);";