import {Button} from 'antd'
import 'antd/lib/button/style';
работал на меня ...
Что вы подразумеваете под
'===> не импортирует стиль.
blockquote>???
Вид интересной проблемы.. Но поскольку сообщение об ошибке указывает, строка <%= WebApplication1.SiteHelper.IsUserInRole("Admin") %>
не может быть преобразован в булевскую переменную.
К сожалению, я не могу объяснить, почему выражение не оценивают, но вместо этого рассматривают как строка.
Причина, почему Ваш <%# %>
работы выражения как ожидалось, то, потому что это рассматривают очень по-другому. Когда Страница компилируется в класс, затем компилятор создает обработчик событий, подобный этому:
public void __DataBindingButton2(object sender, EventArgs e)
{
Button button = (Button) sender;
Page bindingContainer = (Page) button.BindingContainer;
button.Visible = HttpContext.Current.User.IsInRole("admin");
}
и рычаги этот метод до Управления. Событие Databinding на Вашем управлении. Как Вы видите, <%# %>
на этот раз правильно рассматривается как серверный код и не только случайную строку.
Таким образом, я предполагаю, что решение состоит в том, чтобы или использовать привязку данных или перейти к codebehind, как AndreasKnudsen предполагает.
Следующий код работал:
Visible='<%# WebApplication1.SiteHelper.IsUserInRole("Admin") %>'
Обратите внимание, что aboe используют выражение привязки!
Visible='<%= WebApplication1.SiteHelper.IsUserInRole("Admin").ToString() %>'
ИЛИ
Visible=<%= WebApplication1.SiteHelper.IsUserInRole("Admin") %>
как насчет того, чтобы просто делать его в codebehind, например, на Page_Load?
public void Page_Load( object sender, EventArgs e )
{
btndisplayrole.Visible = WebApplication1.SiteHelper.IsUserInRole("Admin");
}