Je développe une application Web dans asp.net mvc 3. Je suis très nouveau dans ce domaine. Dans une vue utilisant le rasoir, je voudrais déclarer certaines variables locales et les utiliser sur toute la page. Comment cela peut-il être fait?
Il semble assez trivial de pouvoir effectuer l'action suivante:
@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>
}
Mais ça ne marche pas. Est-ce possible?
c#
.net
asp.net-mvc
asp.net-mvc-3
razor
vondip
la source
la source
@Code .. End Code
au lieu de@{ .. }
@bool isUserConnected = string.IsNullOrEmpty(Model.CreatorFullName);
mais la définition des variables doit être à l'intérieur d'un "bloc de code". Je ne peux pas donner une meilleure réponse à pourquoi alors cela, c'est juste comment fonctionne le rasoir.{ }
balises est généralement la première étapeJe pense que la variable devrait être dans le même bloc:
la source
isUserConnected
nouveau la variable plus bas dans la page?@if (isUserConnected) { /* stuff if connected */ }
ou<div>Connected? @isUserConnected</div>
(cela fonctionne mieux avec des chaînes). Il n'est cependant pas disponible en dehors de ce fichier (par exemple, vous devrez le déclarer séparément en partiels).Vous pouvez aussi utiliser:
Pas besoin de variable dans le code
la source
Si vous recherchez une variable int, qui s'incrémente au fur et à mesure que le code boucle, vous pouvez utiliser quelque chose comme ceci:
la source
Pas une réponse directe au problème d'OP, mais cela peut aussi vous aider. Vous pouvez déclarer une variable locale à côté de certains html à l'intérieur d'une portée sans problème.
la source
pour déclarer un var à accéder à travers la page. En haut de la page, cela fonctionne généralement. Implicitement ou explicitement votre choix.
la source
vous pouvez tout mettre dans un bloc et écrire facilement le code que vous souhaitez dans ce bloc exactement le code ci-dessous:
cela vous aide à avoir au début un code plus propre et vous pouvez également empêcher votre page de charger plusieurs fois différents blocs de codes
la source