La mise en texte de saisie de la valeur de ViewBag? ASP.NET MVC5
Je suis de passage d'une variable ViewBag.crimeRef de mon contrôleur et je suis de l'utiliser pour afficher un message qui fonctionne très bien:
@if(ViewBag.crimeRef != null)
{
<div class="alert alert-dismissable alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
Sorry, there are no matching results for the crime reference <strong>@ViewBag.crimeRef</strong>. Please try searching again.
</div>
}
J'ai pensé que je pourrais utiliser la même méthodologie pour remplir l'entrée d'une valeur trop, mais je suis un CS1002: ; expected
erreur:
<input type="text" class="form-control" maxlength="11" id="crimeRef" name="crimeRef" placeholder="Crime reference"
@if(ViewBag.crimeRef != null) { value="@ViewBag.crimeRef" }>
Est-il de toute façon je peux remplir la saisie de la valeur à l'aide de la ViewBag variable?
Merci beaucoup
OriginalL'auteur Nick | 2014-08-19
Vous devez vous connecter pour publier un commentaire.
Réponse 1 :-
Réponse 2 :-
Je m y compris Nick réponse ici parce que c'est la réponse, donc il va aider les autres stackoverflow les utilisateurs à obtenir la réponse à leur question à un seul endroit.
Instructions conditionnelles sont en fait construites en Rasoir de MVC4 :
Conditionnel Attributs HTML à l'aide de Rasoir MVC3
Donc tout simplement à l'aide de ceci:
Va seulement rendre la valeur de l'attribut si
ViewBag.crimeRef
n'est pas null - parfait!??
de la syntaxe.est pas de grande différence entre la chaîne.Vide et de la Corde.Vide..
excuses vous sont corrects (je suppose que les cas qui importait ici, mais j'ai oublié
string
est valide). Personnellement, j'ai tendance à utiliserString
lors de l'accès statique propriétés/méthodes qui explique pourquoi il est marqué pour moi.C'est parfait, merci beaucoup
bienvenue...
OriginalL'auteur Kartikeya Khosla
La façon dont vous êtes en train d'essayer de faire cela ne fonctionne pas,
value
n'est pas un serveur-côté de la variable, par conséquent, vous ne pouvez pas référence comme vous êtes. Vous pouvez, cependant, faire quelque chose de beaucoup plus simplepas de soucis, votre réponse est meilleure que les deux de la nôtre, de toute façon, vous devez marquer que l'on a accepté un (je n'ai jamais réalisé de Rasoir a été mis à jour pour le faire pour vous, dans les versions précédentes, il aurait sortie
null
).Je n'ai jamais dit qu'il y avait, j'étais simplement en train de dire à mon avis si ce comportement est maintenant intégré dans le Rasoir, alors il est préférable de l'utiliser, clairement, l'OP est à l'aide d'une version ultérieure en rapport avec le leurs la question, c'est la meilleure réponse. Il n'y a rien de mal avec nos réponses, de leur tout juste sorti de la date 🙂 mais comme vous le dites, utile pour les anciennes versions.
eh bien, si je me souviens bien, votre réponse originale à cette question a été
@(ViewBag.crimeRef??ViewBag.crimeRef:string.Empty)
- qui n'est pas valide??
syntaxe (comme mon commentaire souligné). Vous avez posté cette réponse à2014-08-19 10:00:41Z
, j'ai fait remarquer à2014-08-19 10:03:41Z
donc votre réponse avait été pour 3 minutes - j'ai peine à l'appel que vous interrompre écrit une réponse. Peu importe, il n'y a pas de règles sur combien de temps je dois attendre pour commenter une réponse, si je vois une mauvaise réponse, je donne à l'utilisateur la courtoisie de les commenter avant en bas à droit de vote, car le plus souvent c'est une faute de frappe.nous ne sommes pas "combat", nous sommes à discuter 🙂 j'ai l'impression que le réponse ici a été posté par Nick (ou en fait, commenté par Andrei). Toutefois, compte tenu de Nick ne veut pas que le crédit et qu'il a accepté votre réponse, mon conseil serait de mettre à jour votre réponse à la de compte pour les Pseudos en tant que bien de sorte que les autres gens qui trébuchent sur cette obtenir la meilleure réponse possible.
OriginalL'auteur James
Supprimer @ViewBag.crimeRef de devis et d'essayer cette
ViewBag.crimeRef
ne peut pas être évalué comme unbool
- vous besoin de faire quelque chose commeString.IsNullOrEmpty(ViewBag.crimeRef)
à la place.oui.James, j'ai oublié que.
Merci pour la réponse
OriginalL'auteur Kamlesh Arya
De Contrôleur de l'action
OriginalL'auteur Rohith Nair
Instructions conditionnelles sont en fait construites en Rasoir de MVC4: Conditionnel Attributs HTML à l'aide de Rasoir MVC3
Donc tout simplement à l'aide de ceci:
Va seulement rendre la valeur de l'attribut si
ViewBag.crimeRef
n'est pas null - parfait!Grâce à Andrei pour le pointeur!
Oui, c'est une très belle et élégante solution par rapport à ce que j'ai essayé avant!
Intéressant, je n'étais pas au courant.
OriginalL'auteur Nick