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%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.
Tags und Links asp.net-mvc asp.net