112 votes

Propriétés EditorFor() et html

Asp.Net MVC 2.0 Aperçu construit fournit des aides comme

Si le nom de la propriété est string, le code ci-dessus restitue un TextBox.

Que se passe-t-il si je veux passe aux propriétés MaxLength et la taille de la zone de texte ou propriété de classe de ma propre css ?

Ai-je besoin créer un modèle pour chaque taille et la longueur des combinaisons dans ma demande ? Dans l’affirmative, qui ne fait les modèles par défaut qui utilisable.

91voto

WEFX Points 2942

Dans MVC3, vous pouvez définir largeur comme suit :

61voto

tjeerdhans Points 641

J’ai résolu ceci en créant un EditorTemplate nommé String.ascx dans mon dossier /Views/Shared/EditorTemplates :

À mon avis, j’utilise

Fonctionne comme un charme pour moi !

33voto

wayne.blackmon Points 311

Aucune des réponses dans ce ou tout autre fil sur la définition des attributs HTML pour @Html.EditorFor ont été une grande aide pour moi. Cependant, j'ai trouvé une super réponse à

Style un @Html.EditorFor helper

J'ai utilisé la même approche et il a fonctionné à merveille sans écrire beaucoup de code supplémentaire. Notez que l'attribut id de la sortie html de Html.EditorFor est réglé. Le code de la vue

<style type="text/css">
#dob
{
   width:6em;
}
</style>

@using (Html.BeginForm())
{
   Enter date: 
   @Html.EditorFor(m => m.DateOfBirth, null, "dob", null)
}

Le modèle de la propriété avec annotation de données et le formatage de la date "dd MMM yyyy"

[Required(ErrorMessage= "Date of birth is required")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd MMM yyyy}")]
public DateTime DateOfBirth { get; set; }

A travaillé comme un charme sans écrire beaucoup de code supplémentaire. Cette réponse utilise ASP.NET MVC 3 Rasoir C#.

25voto

tj. Points 249

Voudrez peut-être regarder le post Blog de Kiran Chand, il utilise des métadonnées personnalisées sur le modèle d’affichage tels que :

Ceci est combiné avec custom modèles qui utilisent des métadonnées. Une approche propre et simple, à mon avis, mais je voudrais voir ce cas d’utilisation commune intégré au mvc.

17voto

Ishmael Smyrnow Points 412

Je suis surpris que personne mentionné en lui passant en « additionalViewData » et sa lecture de l’autre côté.

Vue (avec sauts de ligne, pour plus de clarté) :

Modèle de l’éditeur :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X