我做了一个注册的系统,当做到用户修改信息页面时就做不下去了,在修改页面中dropdownlist的数据源还是和注册时一样,但是.默认的SelectedItem选项值我想把它变成数据库中用户注册时提交过的那一项而不是数据源中的第一项,也就是说怎么才能把用户注册时选中的哪一项提到修改页面中dropdownlist下拉框的第一项来,我试了好多方法都不行,好郁闷啊~~~~~~~~
不知道说清楚了没?没说清楚的话,我在线等结果的,谢了现~~~

解决方案 »

  1.   

    DropDownListID.SelectedValue=修改的值
      

  2.   

    我试过了,在DataBind()后
    DropDownListID.SelectedText=修改的值
    DropDownListID.SelectedValue=修改的值
    但是这样把数据源中第一项就覆盖了,也就是说数据源中的第一项没了,这样不好.
    不知道还有没有别的办法了?
      

  3.   

    你为什么要修改值哪?
    你的所有下拉值不是已经被绑定了嘛?
    只要设置修改的值的状态被选定不就可以了嘛?
    如果根据value做判断
    则DropDownListID.SelectedValue=修改的值
    如果根据text做判断则
    foreach(ListItem myItem in DropDownListID.Items)
    {
    if(myItem.Text==CheckText)
    {
    ListItem li = DropDownListID.SelectedItem;
    if (li != null)
    li.Selected = false;
    myItem.Selected=true;
    break;
    }
    }
      

  4.   

    哦,误会了,我没有说清楚,我的意思是说用户修改时自动让DropDownList的默认SelectedItem值为他注册时选中过的那个值,改不改是他的事,这样方便用户不用在每一次修改时如果不用修改DropDownList那一项时都再来下拉选择一下,也可以避免一些糊涂用户出错的机会:)
    不知道现在大家明白了没?:)
      

  5.   

    可以重定义table来做到,本来是
    YourTableValueField, YourTableTextField,
    两列,
    可以加一个Table
    UserId, TableName, LastAccessRecordSN, LastAccessTime联系查询之后绑定,让最新的记录最前
      

  6.   

    首先,保证选项值是唯一的(通常用ID)然后:
    YourList.Items.FindByValue("1").Selected = true;
      

  7.   

    都试过了,还是不行,看样子,只能让用户每次修改注册信息时再重新拉一次DropDownList了!_!因为如果不拉的话修改后DropDownList中的值就是默认数据库中的第一项了
      

  8.   

    DropDownListID.SelectedValue=数据库中读出的值林被用了几十次了都可以不行的话看要怎么办
      

  9.   

    ddlstDocLevel.SelectedIndex=ddlstDocLevel.Items.IndexOf(ddlstDocLevel.Items.FindByValue(strDocLevel));//strDocLevel数据库中查询得到的值,ddlstDocLevel为控件名称