【发布时间】:2009-12-23 18:00:09
【问题描述】:
我要做的是在 Page_Load 访问页面控件,并进行数据库查询,并使控件可见或不可见。
代码如下:
foreach (Control thiscontrol in ContentPlaceHolderBody.Controls) {
try {
if (thiscontrol.ID.Contains("TextBox") || thiscontrol.ID.Contains("Label")) {
string dummy = thiscontrol.ID;
bool IsValid = db.Roles.Any(a => a.controlName == dummy);
if (IsValid == false)
thiscontrol.Visible = false;
}
else if (thiscontrol.ID.Contains("UpdatePanel")) {
foreach (Control UPcontrols in ((UpdatePanel)thiscontrol).ContentTemplateContainer.Controls) {
if (UPcontrols.ID.Contains("TextBox") || UPcontrols.ID.Contains("DropDownList")) {
bool UPIsValid = db.Roles.Any(a => a.controlName == UPcontrols.ID);
if (UPIsValid == false)
UPcontrols.Visible = false;
}
}
}
}
catch { }
}
我的问题是UPcontrols!它应该检索UpdatePanel 中的控件,但问题是它不做它的工作,除非在调试模式下!
当我添加断点时,一切正常,但是当我运行 Web 应用程序时,它在 UpdatePanel... 中找不到任何组件...
【问题讨论】:
-
上下文?您使用什么语言/库?
标签: asp.net ajax updatepanel