2011-01-12 126 views
1

我有一个网页用户控件,这个很重,只有当应用程序用户有一些权限时才使用它。所以如果用户不能使用它,他会设置为visible = false ..但是在这种情况下,即使他不可见,控件也会添加到页面中。如何在aspx页面添加或不添加控件?

问题是网络用户控制真的很少使用。所以我想不包括代码,如果这不是必要的。 我觉得我必须使用preinit状态来添加Web用户控件,但它不是必要的,但我不知道如何。 任何好主意?感谢您的帮助..

+0

你不能只是有一个if .. else语句,而不是添加控制如果用户没有权利使用它? – CliffC 2011-01-12 09:07:59

+0

你使用的是asp.net-ajax吗? – 2011-01-12 09:08:22

回答

3

将它添加到LoadControl后面的代码中,例如。把占位符,aspx页面,然后从代码加载,这样

if (something) 
{ 
    Control cnt = Page.LoadControl("UserControl.ascx"); 
    placeHolder1.Controls.Add(cnt); 
} 
+0

好主意谢谢,我在做init,preinit,pageload吗? – bAN 2011-01-12 09:14:04

2

你是什么意思与相当沉重?如果由于其数据绑定而耗费时间,则应提供public function(f.e. BindData),该请求不是从page_load自动调用,而是在请求并授权用户查看时从页面调用。

相关问题