2010-03-29 9 views
10

Folgenden wird ein Eingabeelement für ein Modellfeld erzeugt einen typisierten Helfer verwendet:Modell prefix wenn typisiert HTML Helfer Verwendung

Html.HiddenFor(m => m.FieldName) 

Die erzeugte Feldname ist FieldName. Wie füge ich dem Namen ein Präfix hinzu, so dass es als name="prefix.FieldName" gerendert wird?

Antwort

16

Sie das Präfix für den Htmlhelper mit

htmlHelper.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "foo"; 

Also, wenn Sie setzen Html.ViewContext.ViewData.TemplateInfo.HtmlFieldPrefix = "Foo" vor Html.HiddenFor(m => m.FormId) die resultierenden Feldnamen

Ich würde empfehlen, eine Erweiterungsmethode schreiben würden ‚Foo.FormId‘ einstellen für den HtmlHelper, anstatt diese Logik in der Ansicht zu behandeln. Möglicherweise möchten Sie dann den Namen des Modelltyps als Präfix verwenden.

1

Sie können nicht. Sie könnten stattdessen Editor-Vorlagen verwenden. Brad Wilson hat eine series of blog posts beschreibt sie. Scott Gu deckt sie auch in diesem post ab.

Verwandte Themen