sintaxis mvc cshtml c# .net asp.net-mvc asp.net-mvc-3 razor

c# - mvc - ¿Cómo declarar una variable local en Razor?



sintaxis razor mvc 5 (6)

Creo que estabas bastante cerca, prueba esto:

@{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> }

Estoy desarrollando una aplicación web en asp.net mvc 3. Soy muy nuevo en eso. En una vista que usa afeitadora, me gustaría declarar algunas variables locales y usarlas en toda la página. ¿Cómo se puede hacer esto?

Parece bastante trivial poder hacer la siguiente acción:

@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> }

Pero esto no funciona. es posible?


Creo que la variable debería estar en el mismo bloque:

@{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> } }


No es una respuesta directa al problema de OP, pero puede ayudarlo también. Puede declarar una variable local junto a algunos html dentro de un ámbito sin problemas.

@foreach (var item in Model.Stuff) { var file = item.MoreStuff.FirstOrDefault(); <li><a href="@item.Source">@file.Name</a></li> }


Si está buscando una variable int, una que se incremente a medida que los bucles de código, puede usar algo como esto:

@{ int counter = 1; foreach (var item in Model.Stuff) { ... some code ... counter = counter + 1; } }


También puedes usar:

@if(string.IsNullOrEmpty(Model.CreatorFullName)) { ...your code... }

No hay necesidad de una variable en el código.


declarar una var para acceder a través de la página ... la parte superior de la página por lo general funciona. implícita o explícitamente su elección.

@{ //implicit var something1 = "something"; //explicit string something2 = "something"; } @something1 //to display on the page @something2 //to display on the page