隐藏/替换ASP.NET WebForms控件

时间:2010-06-30 15:24:01

标签: asp.net webforms

我正在开发一个项目,要求程序员可以添加asp:超链接到页面,但我想用自定义spun asp:的超链接替换它们,如果最终用户有角色,它会在渲染之前进行检查。

所以基本上我需要一种方法来告诉asp应用程序它在哪里渲染asp:实际渲染mycontrols的超链接:customhyperlink。是否有办法使asp:超链接转到我的控件库而不是System.Web.UI?

1 个答案:

答案 0 :(得分:1)

我将假设/建议您在后面的代码中执行用户检查。在这种情况下,您可以简单地让两个控件彼此相邻,只显示一个。例如,在Web表单(aspx)中:

<asp:Hyperlink ID="Link1" ... />
<asp:CustomHyperlink ID="CustLink1" .../>

然后在代码隐藏中:

if (user.HasRole) {
  CustLink1.Visible = true;
  Link1.Visible = false;
}
else {
  CustLink1.Visible = false;
  Link1.Visible = true;
}