问题描述
||
下午好。
我有一个在Page_Load上动态创建的面板列表。通过Control.Add(p)添加控件。方法。代码遵循
Panel p = new Panel();
p.ID = \"cell_\" + i + \"_\" + j;
p.Attributes.Add(\"runat\",\"server\");
p.TabIndex = -1;
p.Attributes.Add(\"class\",\"box\");
p.Attributes.Add(\"onClick\",\"clicked(this);\");
p.Attributes.Add(\"onKeypress\",\"changeValue(event,this);\");
p.Style.Add(HtmlTextWriterStyle.Top,top + \"%\");
p.Style.Add(HtmlTextWriterStyle.Left,left + \"%\");
p.Attributes.Add(\"Text\",value);
PanelList.Add(p);
该代码块位于for循环中,每个循环都会更改i,j,left,right和value变量。
现在,当我调用此函数之前,Page_Load完成:
foreach (Control c in clientGrid.Controls)
{
Response.Write(c.ClientID.ToString());
}
它会成功写入所有动态创建的面板的所有客户端ID。
但是,当我在回发上运行foreach函数时,Response.write不显示任何内容。好像asp忘记了这些面板的存在!
现在,我听到在Page_Init()上需要重新呈现控件!
林不知道如何做到这一点,并经过许多谷歌,似乎找不到答案。
香港专业教育学院试图使用递归来遍历所有Page.Controls并拉出
System.Web.UI.WebControls.Panel
但还是没有运气:(
如果我的问题不清楚,我无法提供更多代码和详细信息:)
谢谢
亚历克斯
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)