Estou desenvolvendo um aplicativo Web no asp.net mvc 3. Sou muito novo nele. Em uma exibição usando o razor, eu gostaria de declarar algumas variáveis locais e usá-las em toda a página. Como isso pode ser feito?
Parece bastante trivial poder executar a seguinte ação:
@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>
}
Mas isso não funciona. Isso é possível?
c#
.net
asp.net-mvc
asp.net-mvc-3
razor
vondip
fonte
fonte
@Code .. End Code
vez de@{ .. }
@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
mas a definição de variável deve estar dentro de um "bloco de código". Não posso dar uma resposta melhor para o porquê disso, é exatamente como a navalha funciona.{ }
marcas geralmente é o primeiro passoEu acho que a variável deve estar no mesmo bloco:
fonte
isUserConnected
novamente mais abaixo na página?@if (isUserConnected) { /* stuff if connected */ }
ou<div>Connected? @isUserConnected</div>
(isso funciona melhor com cadeias). Porém, ele não está disponível fora desse arquivo (por exemplo, você terá que declará-lo separadamente em parciais).Você também pode usar:
Não há necessidade de uma variável no código
fonte
Se você estiver procurando por uma variável int, que seja incrementada conforme o código em loop, use algo como isto:
fonte
Não é uma resposta direta ao problema do OP, mas também pode ajudá-lo. Você pode declarar uma variável local ao lado de algum html dentro de um escopo sem problemas.
fonte
para declarar um var a ser acessado na página.No topo da página, geralmente funciona. Implícita ou explicitamente sua escolha.
fonte
você pode colocar tudo em um bloco e escrever facilmente qualquer código que desejar nesse bloco exatamente exatamente o código abaixo:
ajuda você a ter um código mais limpo e também pode impedir que sua página carregue muitas vezes diferentes blocos de códigos
fonte