Я хочу вывести переменную на экран с помощью Razor. У меня есть класс с именем CustomPrincipal, сохраненный в HttpContext, который сохраняется правильно.
Я хочу, чтобы это было в одной строке, как в примере ниже, который, к сожалению, не работает:
@* This is not working... *@
@(CustomPrincipal)Context.Items["IUser"].Name
Однако приведенный ниже пример работает, поэтому он правильно сохранил его в HttpContext.
@{ CustomPrincipal user = (CustomPrincipal)Context.Items["IUser"]; }
@user.Name
Кто-нибудь знает, почему первый пример не работает, и можете ли вы показать мне решение?
Ошибка:
Сообщение об ошибке компилятора: CS0118: «CustomPrincipal» является «типом», но используется как «переменная».
Name
вCustomPrincipal
. - person CodeCaster   schedule 21.09.2016CustomPrincipal
в скобки, иначе он попытается привести всю строку к этому типу:@(((CustomPrincipal)Context.Items["IUser"]).Name)
- person DavidG   schedule 21.09.2016@(...)
будет печатать только...
, так что вы можете добавлять и добавлять текст, который может выглядеть как код C#. - person CodeCaster   schedule 21.09.2016