2010-06-30 2 views
0

Я работаю над проектом, который требует, чтобы программисты могли добавлять asp: гиперссылки на страницы, но я хочу заменить их с помощью специальной гиперссылки asp: hyperlink, которая проверяет перед рендерингом, если конечный пользователь играет роль или нет.Скрыть/заменить элементы управления ASP.NET WebForms

Так что в основном мне нужен способ сообщить asp-приложению, что там, где он отображает asp: гиперссылка для фактического рендеринга mycontrols: customhyperlink. Есть ли способ сделать так, чтобы asp: гиперссылка попадала в мою библиотеку управления вместо System.Web.UI?

ответ

1

Я собираюсь предположить/предложить вам выполнить проверку пользователя в коде позади. В этом случае вы можете просто иметь два элемента управления рядом друг с другом и только сделать видимыми. Так, например, в веб-форме (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; 
} 
Смежные вопросы