Я занимаюсь разработкой веб-приложения на asp.net mvc 3. Я очень новичок в этом. В представлении, использующем бритву, я хотел бы объявить некоторые локальные переменные и использовать их по всей странице. Как это может быть сделано?
Кажется довольно тривиальным сделать следующее действие:
@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
@if (isUserConnected)
{ // meaning that the viewing user has not been saved
<div>
<div> click to join us </div>
<a id="login" href="javascript:void(0);" style="display: inline; ">join</a>
</div>
}
Но это не работает. Это возможно?
c#
.net
asp.net-mvc
asp.net-mvc-3
razor
vondip
источник
источник
@Code .. End Code
вместо@{ .. }
@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
но определение переменной должно быть внутри «блока кода». Я не могу дать лучший ответ, почему тогда это так, просто, как работает бритва.{ }
тегов обычно является первым шагомЯ думаю, что переменная должна быть в том же блоке:
источник
isUserConnected
снова вниз по странице?@if (isUserConnected) { /* stuff if connected */ }
или<div>Connected? @isUserConnected</div>
(это лучше работает со строками). Однако он недоступен за пределами этого файла (например, вам придется объявить его отдельно в партиалах).Вы также можете использовать:
Нет необходимости в переменной в коде
источник
Если вы ищете переменную типа int, которая увеличивается по мере зацикливания кода, вы можете использовать что-то вроде этого:
источник
Не прямой ответ на проблему ОП, но это может помочь и вам. Вы можете объявить локальную переменную рядом с некоторым html внутри области видимости без проблем.
источник
объявить переменную для доступа к странице. В верхней части страницы обычно это работает. Неявный или явно ваш выбор.
источник
Вы можете поместить все в блок и легко написать любой код, который вы хотите в этом блоке, точно так же, как показано ниже:
это помогает вам сначала иметь более чистый код, а также вы можете предотвратить загрузку вашей страницы много раз различных блоков кодов
источник