2012年12月12日 星期三

'*' 擁有的 SelectedValue 無效,因為它不在項目清單中。

請注意,這邊是指單純的下拉式選單DropDownList放在單純WebForm頁面時發生的問題


如果是放在GridView裡面讀不到的話,請試試看以下迴圈

for( int i=0 ; i<GridView1.Row.Count ; i++ )
{

      DropDownList ddl = (DropDownList)GridView1.Rows[i].FindControl("ddl");
     //ddl即為GridView中的DropDownList,可在GridView1_DataBound事件中綁值

}

阿,回到單純頁面中的單純DropDownList報這個錯
其實原因很簡單,就是在綁定值之前已經先賦值了

通常發生在跨幾個頁面交流的時候,不小心就先給值

DropDownList1.SelectedValue = "oo";

DropDownList1.DataTextField = xx;
DropDownList1.DataValueField=xx;
DropDownList1.DataBind();

以上這種順序就會報錯


DropDownList1.DataTextField = xx;
DropDownList1.DataValueField=xx;
DropDownList1.DataBind();

DropDownList1.SelectedValue = "oo";

這樣就不會....

沒有留言:

張貼留言