2012-03-15 17 views
11

में एक दशमलव प्रारूप अगर मैं एक क्षेत्र में एक दशमलव मान है, और मैं एक पृष्ठ पर प्रदर्शित करने, मैं इसे कैसे प्रारुपित करूँ (मैं वेब फ़ॉर्म में String.Format का प्रयोग करेंगे) कोशिश कर रहा हूँ:एक दृश्य

@Html.DisplayFor(Function(modelItem) String.Format("{0:n0}",currentItem.QualityM1)) 

मैसे के साथ वीएस -2010 में यह त्रुटियां: टेम्पलेट का उपयोग केवल फ़ील्ड एक्सेस, प्रॉपर्टी एक्सेस, सिंगल-आयाम सरणी इंडेक्स, या सिंगल-पैरामीटर कस्टम इंडेक्स एक्सप्रेशन के साथ किया जा सकता है।

+0

देखें [इस] (http://stackoverflow.com/questions/7087495/using-razor-view-engine-how-do-i-format-a-decimal-value-to-have-commas -और दो)। –

+0

हाय - कृपया इसे अनदेखा करें - बस किसी और को देखने के लिए उत्तर मिला - मैंने इसे आसानी से बदल दिया: @ स्ट्रिंग.फॉर्मैट ("{0: n0}", currentItem.QualityM1) धन्यवाद, मार्क – Mark

उत्तर

20

मैं दृश्य के अंदर ऐसा नहीं होगा। बेहतर होगा कि इस केंद्रीकृत और इस जानकारी के रूप में नीचे मेटाडाटा के रूप में प्रदान करने के लिए:

public class Foo { 

    [DisplayFormat(DataFormatString = "{0:n0}")] 
    public decimal Bar { get; set; } 
} 

फिर हमेशा की तरह इस का उपयोग करें:

@Html.DisplayFor(m => m.Bar) 
8

क्या आपको HTML.DisplayFor का उपयोग करने की आवश्यकता है?

अन्यथा आप केवल कर सकते हैं:

@String.Format("{0:n0}",currentItem.QualityM1) 
2

DisplayFor में क्या ... वर्ग atributte की तरह सेट में यह वाला।

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:N2}")] 
    public virtual decimal Valor 
    { 
     get; 
     set; 
    } 
संबंधित मुद्दे