现在的位置: 首页 > 综合 > 正文

User Control事件无法触发?

2012年11月11日 ⁄ 综合 ⁄ 共 523字 ⁄ 字号 评论关闭
写了一个User Control,User Control中包含了一个DataGrid.
DataGrid的列是动态生成的(包括一个EditCommandColumn)。然后给DataGrid加了一个EditCommand事件处理程序。希望点击EditCommandColumn的时候可以对当前行的数据进行编辑。

运行,点击EditCommandColumn,结果什么反应也没有。跟踪了一下,居然没有触发EditCommand事件处理程序。怪事!!!

开始以为是DataGrid动态创建的原因。最后才发现原来是User Control装入的问题(需要把动态装入的控件进行强制类型转化):
原来的写法:
Control tmp=(Page.LoadControl("TestControl.ascx")); 
phldTest.Controls.Add(tmp);  
修改后的写法:
TestControl tmp=((TestControl)Page.LoadControl("TestControl.ascx")); 
phldTest.Controls.Add(tmp);  

参考:
http://p2p.wrox.com/topic.asp?TOPIC_ID=7114

抱歉!评论已关闭.