Affichage vide la zone de texte à l'aide de Html.TextBoxFor sur un non-null de propriété dans un EF entité
Je suis en utilisant Entity Framework (v4) les entités. J'ai une entité appelée Voiture avec une Année de la propriété de type integer. La propriété Année de ne pas autoriser les valeurs NULL. J'ai la suite dans ma Créer la vue:
<%= Html.TextBoxFor(model => model.Year) %>
Je suis dans l'obligation de renvoyer un nouvel objet Voiture (en raison d'autres exigences) dans mon HttpGet Créer une action dans le CarController.
Actuellement, un zéro est affichée dans l'Année de zone de texte parce que la propriété Année de ne pas autoriser les valeurs NULL. Je voudrais afficher une zone de texte vide dans la création de la vue. Comment puis-je faire cela?
Vous devez vous connecter pour publier un commentaire.
Utiliser Les Attributs Html Surcharge. Dans de rasoir, ce serait:
if(!ModelState.IsValid) return View(viewmodel)
). À tout moment la zone de texte est rendu au chargement de la page, il va afficher une chaîne vide. C'est parfait pour les premiers temps de rendu de la page, mais mauvais quand l'utilisateur est de retour en raison de la validation échoue. Toutes les données, ils sont entrés dans les champs seront perdues et remplacées par la chaîne vide.Essayez plutôt ceci:
Si vous utilisez le fortement typé TextAreaFor aide, alors il n'y a aucun moyen direct pour définir une valeur par défaut. Le point de la fortement typé helper est elle qui lie la zone de texte à un modèle de propriété et obtient la valeur à partir de là. Si vous souhaitez une valeur par défaut, puis les mettre dans le modèle permettrait d'atteindre cet objectif. Vous pouvez aussi passer à la non-fortement typé TextArea helper. Il vous donne plus de un peu plus de souplesse pour les cas comme cela:
Essayer ce que vous essayez d'ajouter à votre domaine ou vous voulez modifier un champ vide TextBoxFor.