#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");