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




variables en razor (5)

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

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?


También puedes usar:

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

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


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

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




razor