2011-01-12 11 views
5

Quando si utilizzano gli helper dei modelli in ASP.NET MVC, ad es. Html.EditorFor(x => x.Property) l'Html renderizzato con un ID maiuscolo - corrispondente al nome della mia proprietà.Assistenti modello MVC ASP.NET - Come ottenere ID minuscolo

Al fine di standardizzare gli ID di tutti gli elementi HTML, voglio che questo sia in minuscolo. Piuttosto che specificare manualmente l'ID, che non verrà aggiornato se rinominerò la mia proprietà, mi piacerebbe stabilire una convenzione.

Sono sicuro di aver letto che era possibile da qualche parte e attualmente sto scansionando l'interwebz per trovarlo. Ma se qualcuno può aiutarmi e salvarmi il tempo, sarebbe fantastico.

+0

Questo è un sacco di lavoro per poco guadagno. Se sei preoccupato di standardizzare l'accesso con selettori javascript o jquery, considera che se cambi il nome di una proprietà dovrai comunque aggiustare il jquery. – jfar

risposta

0

Attualmente ASP.NET MVC non offre punti di estensione che consente di fare questo.

+0

Hai una conferma per questo? – nick

+0

Non riesco a referenziare nulla sul web - per quanto mi riguarda ricorda, l'ho controllato usando .NET Reflector prima di rispondere alla tua domanda. –

0

È possibile estendere lo Html.EditorFor; questo tutorial può iniziare.

O si utilizza questo:

Html.EditorFor(x => x.Property).ToString().ToLower() 
+0

Grazie per quello. Spero idealmente di non aver nemmeno bisogno di farlo comunque. Sono abbastanza sicuro di aver visto un modo per farlo. Buon commento per chiunque altro si imbatta in questa domanda però. – nick

+0

Questo non funzionerà: 'EditorFor' restituisce' IHtmlString', ma convertirlo in stringa risulterà nella sua codifica html futura (almeno in MVC 3). La soluzione alternativa è '(new HtmlString (Html.EditorFor (x => x.Property) .ToString(). ToLower())'. –

+0

Nota anche che cambierai il caso di tutte le altre lettere lì. 'Probabilmente non sarà possibile aggiornare il modello dopo averlo fatto. –

Problemi correlati