BLL.User user = new BLL.User(); 
ArrayList allUser = user.AllUser();//数据层返回的是 Model中的UserName和PassWord的ArrayList ArrayList ddlData = new ArrayList();
foreach( Model.User userMode in allUser)
{
ListItem listItem = new ListItem();
listItem.Text = userMode.UserName;
listItem.Value = userMode.PassWord;
ddlData.Add(listItem);
}
ddl.DataSource = ddlData;
ddl.DataBind();
问 ddl.SelectedValue.ToString(); 为什么总是UserName,而不是 PassWord???

解决方案 »

  1.   

    ddl.SelectedValue.ToString()
    ---------------
    ddl.selecteditem.value.tostring
      

  2.   

    什么意思呀?我是为问为什么里面的value是UserName的值,我想要的是PassWord的值?
      

  3.   

    ddlPrjID.SelectedItem.Text->password
    ddlPrjID.SelectedItem.value->UserName
      

  4.   

    ddl.SelectedValue.ToString(); 引用格式没问题,可能是你的userMode.PassWord中的数据有问题。你看一看,是不是给userMode.PassWord赋于了和userMode.UserName中一样的值?
      

  5.   

    不对,我看网页源代码时<option value="admin">admin</option> 我应该是value是对应password的值,而不是UserName的值
      

  6.   

    在创建droplist时.要把text,value分开创建
    dr.items.add(new Listitem("testxx","testvalue")))
    这样获取的才正常
      

  7.   

    晕了.还是一样呀.  ddl.Items.Add(new ListItem(userMode.UserName,userMode.PassWord));
      

  8.   

    BLL.User user = new BLL.User();
    ArrayList allUser = user.AllUser();
    string[] aa = (string[])allUser.ToArray(typeof(string));
    ddl.DataSource = aa;
    ddl.DataBind();这行出错  string[] aa = (string[])allUser.ToArray(typeof(string));源数组中至少有一个元素无法被向下转换到目标数组类型。
      

  9.   

    你先试一试直接在html代码中给ddl赋值!
    <asp:ListItem value="password">userName</ListItem>
    再取值看看