2011-01-12 4 views
5

Wenn die Vorlage Helfer in ASP.NET MVC, z. Html.EditorFor(x => x.Property) die gerenderten HTML mit haben eine groß geschriebene ID - passend zu meinem Namen.ASP.NET MVC Template-Hilfsprogramme - So erhalten Sie Kleinbuchstaben-IDs

Um die IDs aller HTML-Elemente zu standardisieren, möchte ich, dass dies in Kleinbuchstaben erfolgt. Anstatt die ID manuell anzugeben - die wird nicht aktualisiert, wenn ich meine Eigenschaft umbenenne, möchte ich eine Konvention einrichten.

Ich bin sicher, ich habe gelesen, das war irgendwo möglich und ich scanne gerade die Interwebz, um es zu finden. Aber wenn mir jemand helfen und mir Zeit sparen kann, wäre das großartig.

+0

Das ist eine Menge Arbeit für wenig Gewinn. Wenn Sie sich Sorgen machen, den Zugriff mit JavaScript oder Jquery-Selektoren zu standardisieren, denken Sie daran, dass Sie die jquery trotzdem anpassen müssen, wenn Sie einen Eigenschaftsnamen ändern. – jfar

Antwort

0

Derzeit ASP.NET MVC bietet keine Erweiterungspunkte so dass Sie dies tun.

+0

Haben Sie eine Bestätigung dafür? – nick

+0

Ich kann nichts im Web referenzieren - soweit ich Denken Sie daran, dass ich dies mit .NET Reflector überprüft habe, bevor Sie Ihre Frage beantwortet haben. –

0

Sie könnten die Html.EditorFor erweitern; Diese tutorial können Sie beginnen.

Oder Sie verwenden diese:

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

Danke dafür. Ich hoffe im Idealfall, dass ich das nicht einmal tun muss. Ich bin mir ziemlich sicher, dass ich einen Weg gesehen habe, es zu tun. Guter Kommentar für jeden anderen, der sich mit dieser Frage auseinandersetzt. – nick

+0

Dies wird nicht funktionieren: 'EditorFor' gibt' IHtmlString' zurück, aber die Umwandlung in eine Zeichenkette führt zu seiner zukünftigen HTML-Kodierung (zumindest in MVC3). Workaround ist '(neuer HtmlString (Html.EditorFor (x => x.Property) .ToString(). ToLower())'. –

+0

Beachten Sie auch, dass Sie den Fall aller anderen Buchstaben dort ändern werden. ZB von 'name '' So wahrscheinlich, Sie werden nicht in der Lage sein, das Modell zu aktualisieren, nachdem dies getan. –