日期:2014-05-19  浏览次数:20452 次

急急急!一个简单的控件调用问题 大家帮帮忙!
我在datalist中放了   一些web的textbox控件   和input的   button   控件     都是ruanatserver     我现在在cs文件   后台根据不同的情况     设置这些空间的readonly   和     enable属性     在page_load的时候用list.Items[0].FindControl( "btnleader ")这种方法   一直提示索引出界   而在事件中   用这种方法则可以成功找到   该控件     我现在   想在加载的时候   设置这些控件的属性应该怎么办?
      本人以前一直做winform的程序   对web的不是很了解     请大家帮帮忙

------解决方案--------------------
page_load
的时候当然找不到 因为执行了page_load再执行你帮盯datalist,帮定了datalist再用list.Items[0].FindControl( "btnleader ")
否则这个时候datalist里面没项 所以Index不对

------解决方案--------------------
在ItemDataBound方法中使用findcontrol方法
------解决方案--------------------
page_load的时候 datalist还没有绑定,里面的控件还没有生成
------解决方案--------------------
楼上正解!
判断绑定项的属性为 普通项/交替项 ,然后再用findControl找到lable或button,就能操作了
绑定时一定别忘了处理交替项 不然只处理了一半
------解决方案--------------------
楼主在 PreRender 里写那些设置属性的操作试试
protected void Page_PreRender(object sender, EventArgs e)
{

}

在加载 Control 对象之后、呈现之前发生。