Saubere Methode zur Ausgabe von Werten in ASP.NET MVC-Ansichten, wenn der Wert nicht null ist

8

Gibt es eine bessere Möglichkeit, den folgenden Code zu schreiben? Ich habe einige Blöcke, die ähnlich sind, und das macht den Code in der Ansichtsseite sehr unordentlich.

Der Datenwert mit dem zugehörigen Label muss nur ausgegeben werden, wenn bestimmte Bedingungen erfüllt sind, was fast immer der Fall ist, wenn der Wert nicht null ist.

Die Optionen, die ich mir denken kann, ist die Verwendung einer Antwort.Schreiben Sie, um zumindest die Verwendung der ASP-Skript-Tags zu minimieren, oder um die Webseite so zu formatieren, dass das Etikett mit einem geeigneten Wert vom Typ n-a angezeigt wird.

%Vor%     
Swoop 21.05.2010, 20:31
quelle

2 Antworten

8

Wenn Sie die Klasse DisplayFormatAttribute in System.ComponentModel.DataAnnotations Sie können die Ausgabe von Nullwerten in Ihrer Ansicht explizit steuern Umgang mit Inline-Skript-Tags. Für sich genommen wird das nicht helfen, die an den Wert gebundenen Beschriftungen zu entfernen, aber Sie können zumindest eine Ausgabe automatisch ersetzen lassen, wenn der Wert null ist.

%Vor%

Mit dem obigen Code wird automatisch "N / A" angezeigt, wenn der Wert Null ist, ansonsten wird der Wert unter Verwendung des Standard-Währungsformats angezeigt.

Alternativ können Sie, wenn Sie das Label auch entfernen möchten und nicht mit Script-Tags in Ihrer Ansicht arbeiten möchten, Ihren eigenen HtmlHelper erstellen, der einen Ausdruck im selben Format wie Html.DisplayFor(expression) verwendet und dann den Wert zurückgibt kombinierte Ausgabe von Html.LabelFor(expression) und Html.DisplayFor(expression) genau dann, wenn der diesem Ausdruck zugeordnete Wert nicht null ist.

    
Nathan Taylor 21.05.2010, 20:48
quelle
2

Wenn du den "Balance" in die Formatzeichenfolge steckst und Response.Write verwendest, sieht es viel sauberer aus, denke ich:

%Vor%     
tzaman 21.05.2010 21:02
quelle

Tags und Links