एक विषय मैं ऑर्चर्ड सीएमएस गैलरी से डाउनलोड पर देख जबकि, मैंने देखा कि एक Layout.cshtml फ़ाइल फ़ाइल के शीर्ष पर कोड के इस खंड के लिए किया था: (एक रेजर फ़ाइल में @ फ़ंक्शन कोड ब्लॉक क्या करता है, और जब (यदि कभी) मुझे इसका उपयोग करना चाहिए?
@functions {
// To support the layout classifaction below. Implementing as a razor function because we can, could otherwise be a Func<string[], string, string> in the code block following.
string CalcuClassify(string[] zoneNames, string classNamePrefix)
{
var zoneCounter = 0;
var zoneNumsFilled = string.Join("", zoneNames.Select(zoneName => { ++zoneCounter; return Model[zoneName] != null ? zoneCounter.ToString() : ""; }).ToArray());
return HasText(zoneNumsFilled) ? classNamePrefix + zoneNumsFilled : "";
}
}
मैं जानता हूँ कि घोषित समारोह क्या करता है गणना करता है कि प्रत्येक कॉलम की चौड़ाई को वापस करने के लिए कौन से जोन आबादी वाले हैं), मेरा प्रश्न है- @ फ़ंक्शन ब्लॉक का सही उपयोग क्या है, और मुझे इसका उपयोग कब करना चाहिए?
व्यक्तिगत रूप से मुझे लगता है कि इसे टालना चाहिए क्योंकि यह आपके द्वारा प्रस्तुतिकरण/दृश्य परत में पानी को गड़बड़ कर देता है और आपका व्यवसाय नियंत्रक/परत क्या है। – Liam
@ लीम - मैं असहमत हूं। मुझे लगता है कि यह स्पष्ट रूप से * पानी के muddying * से बचने के प्रयोजनों के लिए इस्तेमाल किया जाना चाहिए। इस उदाहरण में, यह स्तंभ चौड़ाई निर्धारित करने के प्रयोजनों के लिए है, जो नियंत्रक को कुछ भी पता होना चाहिए। – Bobson
@ बोब्सन पॉइंट – Liam