Создание условной ссылки на странице apsx html

#asp.net #html #vb.net #conditional #hyperlink

#asp.net #HTML #vb.net #условные операторы #гиперссылка

Вопрос:

Я пытаюсь создать ссылку в пользовательской области моего веб-сайта.

После входа в систему информация о пользователях передается в разрешенный доступ к определенным разделам сайта. Что я хотел бы сделать, так это создать HTML-ссылку, которая управляется условным оператором.

например, после входа пользователя в систему я хочу проверить, есть ли у него учетные данные для перехода по ссылке, которая позволит им перейти к чему-то новому. Если у них нет учетных данных, ссылка будет заблокирована или не будет отображаться.

Я ищу место для начала выполнения этой задачи, любая документация или ключевые слова были бы полезны. Также очень помогли бы примеры кода.

Страница представляет собой страницу aspx с кодом vb.

Заранее спасибо.

Комментарии:

1. Используете ли вы аутентификацию в формах?

2. С чем у вас возникли проблемы? Создание ссылки? Аутентификация пользователя? Отображение условного содержимого? Что вы пробовали до сих пор?

3. Отображение условного содержимого. Я могу создать ссылку (базовый html) и аутентифицировать пользователя. Но я не уверен, как должен выглядеть html при использовании условного.

Ответ №1:

Я бы просто поместил вашу логику в событие загрузки страницы.

ASPX:

 <asp:HyperLink ID="myHyperLink" runat="server"></asp:HyperLink>
  

VB:

 Protected Sub Page_Load(sender As Object, e As EventArgs)
    If 1 = 1 Then
        myHyperLink.Visible = False
    End If
End Sub
  

Встроенная логика ASPX:

 <asp:HyperLink ID="myHyperLink" runat="server" 
     Visible='<%# Eval("[Some Condition]") != null ? true : false %>'>
     </asp:HyperLink>
  

Комментарии:

1. кажется достаточно простым, я постараюсь и дам вам знать. Спасибо.

2. Что, если я не хочу использовать код, лежащий в основе? Есть ли способ использовать условие в самом HTML-коде?

3. @user630581, я не фанат смешивания кода пользовательского интерфейса и бизнес-логики, но я обновил свой пост, чтобы ответить на ваш вопрос. Я предполагаю, что вы смогли заставить мой оригинальный пример работать?

4. Да, спасибо за вашу помощь. Я уважаю и понимаю ваш взгляд на смешивание кода пользовательского интерфейса и B-логики, но ради изучения и понимания это ценится.

Ответ №2:

Я знаю, что на этот вопрос уже был дан ответ, но если вы используете встроенное управление ролями, я всегда предпочитал делать это таким образом:

 <asp:HyperLink ID="HyperLink1" runat="server" Text="Some Protected Page" ... />
  

В коде-за:

 HyperLink1.Visible = User.IsInRole("admin");