2011-10-13 15 views
9

Sto provando ad applicare uno stile all'editor per un elemento, ma non riesco a farlo funzionare; Che cosa sto facendo di sbagliato?Aggiunta di stile all'editor per

@Html.EditorFor(model => model.ClienteNuevo) 
@Html.ValidationMessageFor(model => model.ClienteNuevo,"" ,new Dictionary<string,  string> { { "style", "width:500px" } }) 

risposta

10

Non v'è alcun modo per aggiungere attributi HTML con il EditorFor method.You dovrebbe creare un costume editor template o utilizzare Html.TextboxFor istead di EditorFor. Dovresti controllare questi argomenti topic1, topic2.

2

EditorFor invoca viste modello piuttosto che emettere un elemento fisso, in modo che non ci vuole html attributi come argomento. Per qualcosa di simile a quello che stai facendo la soluzione più semplice sarebbe quella di circondare l'editor e messaggio di convalida con un altro elemento, e applicare lo stile che invece:

<div style="width: 500px;"> 
@Html.EditorFor(model => model.ClienteNuevo) 
@Html.ValidationMessageFor(model => model.ClienteNuevo,"") 
</div> 
+0

Downvoter: cura di commento? – StriplingWarrior

2

EditorFor non consente per lo styling come non ci sono parametri per attributi aggiuntivi. La ragione di ciò è dovuta al fatto che EditorFor non genera sempre un singolo elemento in quanto può essere sovrascritto. Per disegnare uno specifico tipo di elemento è necessario utilizzare l'editor specifico che si desidera utilizzare. Ad esempio se l'editor è una casella di testo usa solo lo TextBoxFor e applica lo stile in questo modo.

0
@Html.EditorFor(model => model.ClienteNuevo) 
@Html.ValidationMessageFor(model => model.ClienteNuevo, "", new { @class = "yourclass" }) 

Spero aiutare

3

È possibile creare propria classe CSS e appendd al vostro redattore:

@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "custom-editor" } }) 
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })