是不是在使用控件的屬性值時不能用綁定,SelectedIndex作為屬性先執行,而這個時候綁定代碼還沒有執行所以會報錯,你可以跟蹤一下他的執行順序,看看具體是怎麼執行的。
SelectedIndex='<%# DataBinder.Eval(Container.DataItem, "PayType") %>'

解决方案 »

  1.   

    这个绑定值要通过外部一个函数, 再把值返回来就不会出错, 真是很麻烦, 因为这个值没必要外部函数转换, 大家说说是不是微软有病?下面这样就不会出错. 为什么呢? 想不通啊? SelectedIndex='<%# GetPayTypeIndex(DataBinder.Eval(Container.DataItem, "PayType").ToString()) %>'
    public int GetPayTypeIndex(string i)
    {
    return Int32.Parse(i);
    }
      

  2.   

    SelectedIndex='<%# Convert.ToInt32((DataBinder.Eval(Container.DataItem, "PayType))%>'