Asp.net 如何始终将下拉列表的值设置为默认值

Asp.net 如何始终将下拉列表的值设置为默认值,asp.net,drop-down-menu,Asp.net,Drop Down Menu,一个页面有一个Repeater控件显示学生记录,当点击任何记录时,它显示总信息,这个页面有一个dropdownlist和面板中包含的其他控件设置为visible false。当用户搜索时,它显示学生信息[10行] 当他想要查看他点击学生行的学生的更详细描述时,它显示SSN、FName、LName、DOB,然后我们使面板可见 它有一个下拉列表,并将其dataTextfield设置为数据库中的所有部门。在这里,我想显示其默认的下拉列表“选择部门”,他选择任何部门,点击“保存”,然后页面重新加载,它应

一个页面有一个Repeater控件显示学生记录,当点击任何记录时,它显示总信息,这个页面有一个dropdownlist和面板中包含的其他控件设置为visible false。当用户搜索时,它显示学生信息[10行] 当他想要查看他点击学生行的学生的更详细描述时,它显示SSN、FName、LName、DOB,然后我们使面板可见 它有一个下拉列表,并将其dataTextfield设置为数据库中的所有部门。在这里,我想显示其默认的下拉列表“选择部门”,他选择任何部门,点击“保存”,然后页面重新加载,它应该再次设置为其默认值“选择部门”…这一个我无法做到这一点

我是这样做的,
dd.items,插入(0,“选择卸载”)…
>每次页面重新加载时,此项都会添加到下拉列表中 我试过了

dd.selectedindex= 0

由于数据项来自数据库..我们无法将该值设置为默认值。

在dropdownlist的数据绑定事件中,您不能只使用dd。selectedValue=其中的值是您在将“Select Department”项添加到DDL时为其提供的字符串值。

使用这行代码它会工作

            Conn.Open()
            dr= cmd.ExecuteReader(CommandBehavior.CloseConnection)
            dd.DataSource = dr
            dd.DataValueField = "ColumnName"
            dd.DataBind()
            dd.Items.Insert(0, "-----Select department-----")
            Conn.Close()
使用方法如下:

<asp:DropDownList ID="dd" runat="server" AppendDataBoundItems="True" Width="133px" AutoPostBack="True" OnSelectedIndexChanged="dd_SelectedIndexChanged">
                    <asp:ListItem Value="-1">[Select]</asp:ListItem>
                </asp:DropDownList>

dd.SelectedIndex = 0;

[选择]
dd.SelectedIndex=0;

我是这样做的,但默认设置不是“选择部门”,每次使用select department将新项目添加到dd时,我都会尝试这样做:在dropdownlist的数据绑定方法中,循环遍历项目集合,直到找到带有“select department”文本的项目,将其索引存储在变量中,然后设置selectedindex。如果这不起作用,那么我也不知道还有什么…只是一个想法。。。如果您试图将该值设置为晚于数据绑定事件的值,那么它可能会起作用,如果这是导致问题的原因,例如在控件的卸载事件中?我的代码类似于我在数据绑定事件.items.inser(0,“--select dept”)dd.selectedindex=0中编写的代码,通过这种方式,我可以看到默认的选择部门,但每次刷新页面时,在添加到下拉列表之前,每次清除项目时绑定时,都会将新的选择部门添加到下拉列表中。