如何在aspx页面中添加或不添加控件?

时间:2011-01-12 09:01:54

标签: asp.net user-controls

我有一个带有Web用户控件的页面,这个页面很重,只有在应用程序用户拥有某些权限时才会使用它。因此,如果用户无法使用它,则将其设置为visible = false。但在这种情况下,控件将添加到页面,即使他不可见。

问题是很少使用Web用户控件。所以如果没有必要,我想不包含代码。 我觉得我必须使用preinit状态在必要时添加Web用户控件但我不知道如何... 有什么好主意吗?谢谢你的帮助......

2 个答案:

答案 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调用,而是在请求用户并且用户有权查看时从页面调用。