急急急!一个简单的控件调用问题 大家帮帮忙!
我在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 对象之后、呈现之前发生。