Comment affecter et utiliser la variable dans MVC, Razor Vue
J'ai identifié plusieurs de mes points de vue qui nécessitent une logique simple, par exemple pour ajouter une classe à un ensemble de contrôles créés avec @Html helpers. J'ai essayé de plusieurs façons différentes, mais ils soit de générer des erreurs dans la Vue ou tout simplement ne fonctionnent pas.
Un exemple simple:
Affecter la variable:
@if( condition )
{
var _disabled = "disabled";
}
@Html.CheckBoxFor(m => m.Test, new { @class = "form-control " + @_disabled })
Ou:
@if( condition )
{
var _checked = "checked";
}
@Html.CheckBoxFor(m => m.Test, new { @checked = @_checked })
Bien sûr, ce qui ne fonctionne pas. Je suis juste essayer d'éliminer un tas de @if
conditions de mon point de Vue, mais j'ai d'autres léger logique utilise pour l'utilisation des variables. Mon problème est peut-être plus de l'utilisation d'une variable de cette façon que de l'affecter?
Vous devez vous connecter pour publier un commentaire.
Il semblerait que vous êtes à la compréhension de rasoir amende.
Le problème avec ton code semble que vous êtes en utilisant une variable hors de portée. Vous ne pouvez pas définir une variable dans une instruction if, et ensuite l'utiliser à l'extérieur, car le compilateur n'est pas sûr que la variable en dehors de existe réellement.
Je vous suggère les suivantes:
Comme une note de côté, (à mon avis) il est préférable de faire des trucs dans les contrôleurs quand vous le pouvez, plutôt que les points de vue. Mais si les choses ne font plus de sens de la vue, juste de les y maintenir. (-:
Espère que cette aide.
Essayer ce;
Merci!
if
bloc comme Jack l'a souligné. Je ne suis pas sûr que je l'ai fait de cette façon quand j'avais fait le test. De toute façon, thx.