6

我有一个连接到 ObjectDataSource 的 DropDownList。在我的页面加载中,我根据情况将 selectedvalue 设置为特定值。如何在我的方法 selectedindexchanged 中“重置” selectedvalue 以便您仍然可以从其他选项中进行选择?还是我不应该使用 selectedvalue 来设置下拉列表的默认值?

 <asp:DropDownList ID="DropDownList" runat="server" DataSourceID="ObjectDataSource" DataTextField="Type" DataValueField="TypeId" 
    AutoPostBack="true" onselectedindexchanged="DropDownList_SelectedIndexChanged" >
            </asp:DropDownList>

protected void Page_Load(object sender, EventArgs e)
{
        int default = category.TypeId;
        DropDownList.SelectedIndex = default;

}

protected void DropDownList_SelectedIndexChanged(object sender, EventArgs e)
{

    int id = int.Parse(DropDownList.SelectedValue);
    Session["id"] = id;
}
4

4 回答 4

26

您可以对下拉列表使用 ClearSelection 方法

DropDownList.ClearSelection();

谢谢

迪普

于 2012-04-12T12:20:44.630 回答
2

DataBind您应该只DropDownList设置其默认值if(!IsPostBack)

protected void Page_Load(Object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        int default = category.TypeId;
        DropDownList.SelectedValue = default.ToString();
    }
}

Page.IsPostBack财产

于 2012-04-12T11:36:57.160 回答
1

将 SelectedValue 属性设置为空字符串:

DropDownList.SelectedValue = string.Empty;
于 2012-04-12T12:06:47.557 回答
0

您可以将 SelectedIndex 设置为 -1

DropDownList.SelectedIndex = -1;
于 2018-10-26T13:22:45.873 回答