我写了个自定义控件,也加进去了,页面也显示了,这是加的代码(页面加载时触发)
foreach (SysFun sf in sysFuns)
{
Control roleUserControl= LoadControl("RoleUserControl.ascx");
phRoleDistribute.Controls.Add(roleUserControl);
}
但是当我要获取时(在该页面点击一按钮时触发)
foreach (Control c in phRoleDistribute.Controls)
调试中发现居然phRoleDistribute.Controls.Count是0
如果不是这样获取,应该怎么获取啊
foreach (SysFun sf in sysFuns)
{
Control roleUserControl= LoadControl("RoleUserControl.ascx");
phRoleDistribute.Controls.Add(roleUserControl);
}
但是当我要获取时(在该页面点击一按钮时触发)
foreach (Control c in phRoleDistribute.Controls)
调试中发现居然phRoleDistribute.Controls.Count是0
如果不是这样获取,应该怎么获取啊
解决方案 »
- Web config里怎么添加sessionState
- DataReader 怎样遍历里面的多个值
- url重写这个功能如何实现
- TreeView控件,取SelectedValue,当Value是空字符串,取得的是Text的值?是这样的吗?那要如何比较方便取得空字符串?
- 关于提高循环的效率问题
- 请教关于在asp.net站点中使用静态变量的问题
- 2005中如何修改项目名称
- 看看你能不能成为盖茨?微软面试100题
- DataGrid中绑定Dropdownlist在客户端动态增加行后取值问题
- 导出excel后﹐怎幺使一列格式为文字列﹑﹑﹑﹑
- access用ID排序不起作用 在线等
- 如何获知datalist中对哪一项进行了操作?
{
Control roleUserControl= LoadControl("RoleUserControl.ascx");
phRoleDistribute.Controls.Add(roleUserControl);
}
不要放在if(!this.IsPostBack) 里面
protected void Page_Load(object sender, EventArgs e)
{
foreach (SysFun sf in sysFuns)
{
Control roleUserControl= LoadControl("RoleUserControl.ascx");
phRoleDistribute.Controls.Add(roleUserControl);
}
if(!this.IsPostBack){}
}
试试
楼上的建议可行,界面刷新需要重新load一遍control,不要放在IsPostBack里。看看是不是这个问题?