FormatException in der *.aspx-Seite einer ASP.NET MVC-Anwendung

Sie haben eine FormatException in Ihrer *.aspx-Seite? Das ist ein schöner Fehler, weil er sich einfach beheben lässt. 🙂

Zunächst erinnern wir uns daran, dass die HTML-Elemente, die wir mit dem HTML-Helper erzeugen, zu den Daten passen müssen, die dort angezeigt werden sollen. Beispielsweise soll in einem Textfeld ein Text stehen, in einer Checkbox soll ein Wahrheitswert (True oder False) angezeigt werden. Das bedeutet, dass die im Model übergebenen Daten zum Format des HTML-Helpers passen müssen.

Erhalten Sie also die Fehlermeldung [FormatException: Die Zeichenfolge wurde nicht als gültiger Boolean erkannt.] prüfen Sie, ob das entsprechende Attribut im Model den richtigen Datentyp hat.

Hier ein Beispiel:

ASPX FormatException bei HTML-Helper

Wahrscheinlich soll an dieser im Beispiel an dieser Stelle, an der der Fehler aufgetreten ist, ein Text ausgegeben werden. Zumindest deutet die Bezeichnung des Feldes darauf hin. Aber dann ist die CheckBox falsch und es müsste eine TextBox, besser noch ein TextArea mit dem HTML-Helper erzeugt werden, weil die auszugebende Adresse mehrzeilig ist.

Richtig müsste der Code also so aussehen:

<div class="form-group">
 <%= Html.Label("Adresse", New With {.class = "control-label"})%>
 <%= Html.TextArea("Adresse", New With {.class = "form-control"})%>
 <%= Html.ValidationMessage("Adresse")%>
</div>

Wenn man stattdessen mit einer TextBox arbeiten würde, muss man dem HTML-Helper als zweitem Parameter die Eigenschaft des Models übergeben, die im Feld angezeigt werden soll (wenn man gleichzeitig auch CSS-Formatierungen verwenden will). Also beispielsweise so:

<div class="form-group">
 <%= Html.Label("Kaltmiete", New With {.class = "control-label"})%>
 <%= Html.TextBox("Kaltmiete", Model.Kaltmiete, New With {.class = "form-control"})%>
 <%= Html.ValidationMessage("Kaltmiete")%>
</div>

Das wars auch auch schon. Es sollte funktonieren.

Weiterhin viel Spaß mit ASP.NET MVC!

Schreibe einen Kommentar