現在我有一頁是有一個DropDownList的,他一開始是綁定了一個數據源,是把所有年份拿出來到DropDownList中供人選擇(現在有2008,2007,2006)但一開始運行時,他都很正常地顯示2008.但當我不做任何東西去submit, 他得出得結果是,原來什麼值也沒有.
我試過response.write(DropDownList1.SelectedValue).但什麼也沒有.我亦試過先設page.load 里加上DropDownList1.SelectedValue = "2008"
但他一開始是沒有自動選取當前顯示值為selectedvalue.一定要我用人手再選擇第二個值,再submit .再開始有值!! 為什麼?可否各位高手教一教怎去向這個己綁定數據的DropDownList在第一次pageload就己經選擇他內容中的某個值.ps.我亦試過DropDownList1.Items[1].Selected  = true;. 但都是不行.總之大前題都要先submit 一次才有值! 

解决方案 »

  1.   

    各位大大!!! 不好意思,剛發了一個白痴問題...原來應該加多一句DropDownList1.DataBind(); 就解決問題了!!!這是我們新手常犯的錯!!!!!
      

  2.   

    DropDownList1.DataBind();   
    要记清楚啊
      

  3.   

    页面每次刷新都要重新Bind()下...
      

  4.   

    DropDownList1.SelectedIndex = 0;
      

  5.   

    ASP.NET的,每次改变后,都要 DropDownList1.DataBind();
      

  6.   

    DropDownList1.SelectedIndex = 0;
    DropDownList1.DataBind();
      

  7.   

    你查看一下html代码,是否有option的值已经被 selected?如果没有,那么肯定是你的dropdownlist代码里面的问题了
      

  8.   

    测试通过的代码,没有问题,楼主是否用的方法不对啊?private void BindDropList(string CurrentYear)
    {
        DropDownList1.Items.Add(new ListItem("2006", "2006"));
        DropDownList1.Items.Add(new ListItem("2007", "2007"));
        DropDownList1.Items.Add(new ListItem("2008", "2008"));    for(int i=0;i<DropDownList1.Items.Count;i++)
        {
            ListItem oItem = DropDownList1.Items[i];
            if (oItem.Value == CurrentYear)
            {
                oItem.Selected = true;
                break;
            }
        }
    }