Wenn der Wert null ist, lege eine leere Zeichenfolge auf die Rasierklingenschablone.
Ich habe eine razor-Vorlage wie unten. Ich möchte überprüfen, ob der Wert im input-Feld null ist, setzen Sie einen leeren string, wenn der @UIManager.Member.EMail
einen Wert hat, seinen Wert. Wie kann ich das tun?
Normalen Input:
<input name="EMail" id="SignUpEMail" type="text" class="Input"
value="@UIManager.Member.EMail" validate="RequiredField" />
Razor-Syntax Versuchen:
<input name="EMail" id="SignUpEMail" type="text" class="Input" validate="RequiredField"
value="@(UIManager.Member == null) ? string.Empty : UIManager.Member.EMail" />
Den angezeigten Wert in das Eingabefeld:
True ? string.Empty : UIBusinessManager.MemberCandidate.EMail
Kommentar zu dem Problem
solange UIManager und UIManager.Mitglied werden, die nicht null ist, sollte dies schon funktionieren... können Sie das klären?
Eigentlich @UIManager.Mitglied ist zunächst null. Sie erhält Ihren Wert nach einem postback Vorgang. Also es funktioniert nicht, du hast Recht. Wie zu überprüfen, ist es so ?
InformationsquelleAutor der Frage Ryu Kaplan | 2011-08-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie klingt wie Sie nur wollen:
Beachten Sie die Standorte der Klammern ist entscheidend; mit Rasierer,
@(....)
definiert eine explizite Bereich der code - damit alles außerhalb der eckigen Klammern wird als markup behandelt (nicht code).InformationsquelleAutor der Antwort Marc Gravell
Überprüfen, einige Eigenschaft eines Modells in cshtml.
also am besten Weg, dies zu tun:
InformationsquelleAutor der Antwort Ghazni
Dies ist genau das, was die
NullDisplayText
Eigenschaft auf[DisplayFormat]
- Attribut ist.Fügen Sie diese direkt auf Ihrem Modell:
InformationsquelleAutor der Antwort KyleMit
Verwenden Sie die null-conditional operator:
InformationsquelleAutor der Antwort Yuri Diomin