<asp:DropDownList ID="DropDownList5" runat="server" Height="16px" Width="127px">
                                    <asp:ListItem Value="0">讲师</asp:ListItem>
                                    <asp:ListItem Value="1">助教</asp:ListItem>
                                    <asp:ListItem Value="2">教授</asp:ListItem>
                                    <asp:ListItem Value="3">副教授</asp:ListItem>
                                </asp:DropDownList>前端aspx 的DropDownList是这样设置的。
后端我就是在数据库中读取用户的值出来,然后DropDownList5.SelectedItem.Text=teacherTittle;设置它的选中值,也没做其他操作。
为什么选中下拉菜单时是这样的:教授
                              助教
                              教授
                              副教授
╮(╯▽╰)╭,真郁闷。

解决方案 »

  1.   

    DropDownList5.SelectedItem.Text=teacherTittle
    其实按你的需求应该是DropDownList5.SelectedValue=2
      

  2.   

    ListItem x = DropDownList5.Items.FindByText(teacherTittle)
    if(x!=null) x.Selected=true
      

  3.   

    这个打错 sorry~
    改变DropDownList就那么两种方式 一种是设置它的SelectedValue为你赋予的值 这个你可以看MSDN上面的解释: SelectedValue 获取列表控件中选定项的值,或选择列表控件中包含指定值的项。 (继承自 ListControl。)  
    另一种就是3楼的做法
      

  4.   

    讲师变成教授因为这样
    如果你直接给SelectedItem赋值 那么就会如你所愿 改变当前所选项
    但是你现在是给SelectedItem本身的Text属性赋值 自然就改变了他的Text内部呢估计就是这样的实现
    public class ListItem//ListItem是DropDownList的SelecteItem属性的类型
    {
       string _text;
       public string Text
       { 
          get{return _text;}
          set{_text=value;}
       }
    }
      

  5.   

    更加确切的讲,DropDownList5.SelectedItem.Text=teacherTittle这里你是在其实用的是SelectedItem的get,而不是set
      

  6.   

    页面加载的时候DropDownList5默认选中第一项,SelectedItem.Text代表选中项的文本值你把它赋值成你从数据库中读到的值了,这样就会出现讲师变成了教授
      

  7.   

    原来如此那改成SelectedValue就可以了吧。