Gibt es eine Möglichkeit, dass ich das DisplayFormat
Attribut auf einer Ansichtsmodelleigenschaft verwenden kann, um ein DataFormatString
Format für eine Sozialversicherungsnummer oder eine Telefonnummer anzuwenden? Ich weiß, dass ich das mit Javascript machen könnte, würde es aber vorziehen, wenn das Modell es handhaben würde.DisplayFormat.DataFormatString für eine Telefonnummer oder Sozialversicherungsnummer
Antwort
Folgendes sollte funktionieren, beachten Sie jedoch den Typunterschied für die Ssn-Eigenschaft.
[DisplayFormat(DataFormatString = "{0:###-###-####}")]
public long Phone { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:###-##-####}")]
public long Ssn { get; set; }
Beachten Sie, dass für die Formatierung Sie müssen angewandt werden würden, die folgenden HTML-Helfer in Ihrer Ansicht verwenden:
@Html.DisplayFor(m => m.Property)
Die akzeptierte Antwort ist groß, wenn der Typ eine ganze Zahl ist, aber viele IDs werden als Zeichenfolge eingegeben, um zu verhindern, dass führende Nullen verloren gehen. Sie können einen String formatieren, indem Sie ihn mit Substring
in Stücke zerlegen und wiederverwendbar machen, indem Sie ihn in ein DisplayTemplate stecken.
Innerhalb /Shared/DisplayTemplates/
, fügen Sie eine Vorlage Phone.vbhtml
genannt:
@ModelType String
@If Not IsNothing(Model) AndAlso Model.Length = 10 Then
@<span>@String.Format("({0}) {1}-{2}",
Model.Substring(0, 3),
Model.Substring(3, 3),
Model.Substring(6, 4))</span>
Else
@Model
End If
du in ein paar Arten aufrufen können:
einfach die Eigenschaft auf Ihrem Modell mit einem Datentyp des gleichen Anmerkungen versehen Name:
<DataType("Phone")> _ Public Property Phone As String
Und dann Anruf mit einem einfachen
DisplayFor
:@Html.DisplayFor(Function(model) model.Phone)
Alternativ können Sie die DisplayTemplate angeben Sie möchten, dass nach dem Namen verwenden:
@Html.DisplayFor(Function(model) model.VimsOrg.Phone, "Phone")
- 1. Regulärer Ausdruck, um Sozialversicherungsnummer
- 2. Sozialversicherungsnummer der Eingabevalidierung
- 3. REGEX für Telefonnummer - Rubin
- 4. Wie eine Telefonnummer
- 5. Gibt es Pseudocode für UK-Adresse oder Telefonnummer Validierung?
- 6. So erfassen Sie eine Telefonnummer
- 7. Kennt jemand eine Telefonnummer Blacklist (für Telemarketing) API
- 8. Überprüfen Sie, ob eine Telefonnummer in asterisk
- 9. Regulärer Ausdruck für den Abgleich einer Telefonnummer
- 10. Python: Wie man eine zufällige Telefonnummer erzeugt?
- 11. Regex verwenden, um eine Telefonnummer zu bestätigen?
- 12. Twilio Fehler: Die Von Telefonnummer +1 ******** ist keine gültige, SMS-fähige eingehende Telefonnummer oder Funktionscode für Ihr Konto
- 13. Edittext für Passwort mit Telefonnummer eingegeben? (Android)
- 14. Entfernen Sie SSN (Sozialversicherungsnummer) aus einer Zeichenfolge in SQL
- 15. grep mit Regex für die Telefonnummer
- 16. Regex für Telefonnummer mit Standardtelefonnummer mit Klammern
- 17. einschränken regex für Telefonnummer Präfixe zwei Zahlen
- 18. regulären Ausdruck Telefonnummer
- 19. US Telefonnummer Verifikation
- 20. Wie eine Telefonnummer Link auf Android konstruieren, die eine Erweiterung
- 21. Absicht für Kontakte mit der Telefonnummer
- 22. regex für Telefonnummer Format xxx.xxx.xxxx genau?
- 23. Telefonnummer Validierung und Formatierung
- 24. Wie kann ich eine Telefonnummer "pingen"?
- 25. Wie man eine Telefonnummer (oder Vorwahl) in eine Zeitzone umwandelt In Rails
- 26. Wie überprüft man, ob eine Telefonnummer eine Cuba-Nummer oder US-amerikanische Nummer ist
- 27. Parse Telefonnummer in Einzelteile
- 28. OpenLDAP Telefonnummer Schema
- 29. Format Telefonnummer in Datagridview
- 30. Rufen Sie die Telefonnummer oder IMEI eines Smartphones ab
Hmm, ich bin zu Chaos geht um mit diesem, aber beide Telefon und SSN werden als VARCHAR in meiner Datenbank gespeichert, also muss ich ein bisschen Fußarbeit machen, um diese Eigenschaften als 'lang' zu konfigurieren. Es gibt keine Möglichkeit, dies mit den als 'string' eingegebenen Eigenschaften zu tun. –
Eine Option wäre, ein Ansichtsmodell mit Eigenschaften vom Typ long und den zugehörigen Datenanmerkungen einzurichten und den Typ einfach zwischen Ihrer Domänenentität und dem Ansichtsmodell zu konvertieren: Convert.ToInt64 ("123456789") – Jesse
lol ... love downvotes on Antworten, die über ein Jahr alt sind, ohne entsprechende Kommentare .... – Jesse