स्वीकार किए जाते हैं जवाब बहुत अच्छा है:
[DisplayFormat(DataFormatString = "{0:###-###-####}")]
public long Phone { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:###-##-####}")]
public long Ssn { get; set; }
ध्यान दें, इसी क्रम में के लिए स्वरूपण लागू करने के लिए आप अपने दृश्य में निम्नलिखित एचटीएमएल सहायक का उपयोग करने की आवश्यकता होगी लेकिन प्रमुख शून्यों को खोने से रोकने के लिए बहुत सी चीजें एक स्ट्रिंग के रूप में टाइप की जा रही हैं। आप इसे Substring
के साथ टुकड़ों में तोड़कर एक स्ट्रिंग को प्रारूपित कर सकते हैं और इसे DisplayTemplate में चिपकाकर पुन: प्रयोज्य बना सकते हैं।
/Shared/DisplayTemplates/
के अंदर, एक टेम्पलेट Phone.vbhtml
नामित करें:
@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
आप कई तरह के इस आह्वान कर सकते हैं:
बस एक ही के एक डेटा प्रकार के साथ अपने मॉडल पर संपत्ति पर टिप्पणी नाम:
<DataType("Phone")> _
Public Property Phone As String
और फिर एक साधारणका उपयोग करके कॉल करें:
@Html.DisplayFor(Function(model) model.Phone)
वैकल्पिक रूप से, आप DisplayTemplate निर्दिष्ट कर सकते हैं आप नाम से उपयोग करना चाहते हैं:
@Html.DisplayFor(Function(model) model.VimsOrg.Phone, "Phone")
हम्म, मैं इस के साथ चारों ओर गंदगी करने जा रहा हूँ, लेकिन दोनों फोन और एसएसएन को मेरे डेटाबेस में VARCHAR के रूप में संग्रहीत किया जाता है, इसलिए मुझे उन गुणों को 'लंबे' के रूप में स्थापित करने के लिए थोड़ा सा काम करना होगा। 'String' के रूप में टाइप की गई गुणों के साथ ऐसा करने का कोई तरीका नहीं है? –
एक विकल्प, प्रकार के गुणों के साथ एक दृश्य मॉडल स्थापित करना होगा और संबंधित डेटा एनोटेशन और बस अपनी डोमेन इकाई के बीच प्रकार को रूपांतरित करना होगा और मॉडल देखें: कनवर्ट.ओआईएनटी 64 ("123456789") – Jesse
lol ... प्यार डाउनवॉट्स पर उत्तर जो एक वर्ष से अधिक पुरानी टिप्पणियों के साथ हैं .... – Jesse