Question simple, si vous utilisez l'aide HTML de ASP.NET MVC Framework 1, il est facile de définir une valeur par défaut sur une zone de texte en raison d'une surcharge Html.TextBox(string name, object value)
. Lorsque j'ai essayé d'utiliser la méthode Html.TextBoxFor , ma première supposition a été d'essayer ce qui n'a pas fonctionné:
<%: Html.TextBoxFor(x => x.Age, new { value = "0"}) %>
Dois-je rester avec Html.TextBox (chaîne, objet) pour l'instant?
c#
asp.net-mvc-2
html-helper
décompilé
la source
la source
Réponses:
tu peux essayer ça
la source
Cela devrait fonctionner pour MVC3 et MVC4
Si vous voulez que ce soit un champ caché
la source
Il s'avère que si vous ne spécifiez pas le modèle à la méthode View dans votre contrôleur, il ne crée pas d'objet pour vous avec les valeurs par défaut.
la source
Instructor
?La valeur par défaut sera la valeur de votre
Model.Age
propriété. C'est un peu l'essentiel.source
Vous pouvez simplement faire:
ou mieux, cela passera à la valeur par défaut «0» si le modèle est nul, par exemple si vous avez la même vue pour l'édition et la création:
source
value = "0" définira la valeur par défaut pour @ Html.TextBoxfor
son "v" sensible à la casse doit être majuscule
Voici un exemple de travail:
source
Voici comment je l'ai résolu. Cela fonctionne si vous l'utilisez également pour l'édition.
source
Ce travail pour moi
source
L'utilisation
@Value
est un hack, car elle génère deux attributs, par exemple:Vous devriez le faire à la place:
source
cela a fonctionné pour moi, de cette façon, nous définissons la valeur par défaut sur une chaîne vide
source
Si vous avez un formulaire de page partiel pour l'édition et l'ajout, l'astuce que j'utilise pour la valeur par défaut
0
est de faire ce qui suit:De cette façon, ce sera
0
s'il n'est pas réglé ou l'âge réel s'il existe.source
Essayez également ceci, c'est-à-dire supprimer le nouveau {} et le remplacer par une chaîne.