我有一个带有Web用户控件的页面,这个页面很重,只有在应用程序用户拥有某些权限时才会使用它。因此,如果用户无法使用它,则将其设置为visible = false
。但在这种情况下,控件将添加到页面,即使他不可见。
问题是很少使用Web用户控件。所以如果没有必要,我想不包含代码。 我觉得我必须使用preinit状态在必要时添加Web用户控件但我不知道如何... 有什么好主意吗?谢谢你的帮助......
答案 0 :(得分:3)
使用LoadControl将其添加到代码中,例如。将PlaceHolder放在该aspx页面上,然后从代码加载它,如此
if (something)
{
Control cnt = Page.LoadControl("UserControl.ascx");
placeHolder1.Controls.Add(cnt);
}
答案 1 :(得分:2)
非常重你是什么意思?如果由于其数据绑定而耗费时间,则应提供public function
(fe BindData
),该页面不会自动从page_load调用,而是在请求用户并且用户有权查看时从页面调用。