2009-07-02 10 views
5

कुछ महीनों के लिए एमवीसी में काम करने के बाद, मैं पहले लिखित वेबफॉर्म 3.5 एप्लिकेशन में वापस आ गया हूं, और मैं जो कुछ भी सीखा है उसके साथ मैं क्या कर सकता हूं उसे ठीक करने की कोशिश कर रहा हूं।वेबफॉर्म में लिंक लांबा समर्थन ASCX

इसका हिस्सा "आंशिक दृश्य वाले अवधारणा के साथ दृढ़ता से टाइप किया गया मॉडल" अवधारणा है जो अविश्वसनीय रूप से भयानक है। अपने कस्टम "ListTemplate" नियंत्रण इनहेरिट, मैं तो यह कुछ मिलता-जुलता प्राप्त करने के लिए अपने GetModel() विधि का उपयोग कर सकते हैं:

<% List<Models.CaseStudy> model = GetModel<Models.CaseStudy>(); %> 

मैं तो मॉडल पर एक foreach चला सकते हैं, और सभी खुश है। एक थोड़ा कम-से-आदर्श वाक्य रचना के साथ

फिर, यह करने की कोशिश की: लेकिन कोई

<% IEnumerable<IGrouping<string, Models.CaseStudy>> model = GetModel<Models.CaseStudy>().GroupBy(e => e.Client.Name); %> 

हालांकि, मैं एक समूह ऐसा करने के लिए तो मैं के लिए संदर्भ जोड़ा चाहते थे! "कंपाइलर त्रुटि संदेश: सीएस 1525: अमान्य अभिव्यक्ति शब्द '>'" - और यह गलती पर लैम्ब्डा प्रतीत होता है। अगर मैं ग्रुपबी() को फ़ोरैच पैरामीटर में डालता हूं तो यह काम नहीं करता है।

क्या एएससीएक्स फाइलों के भीतर काम कर रहे लैम्बडास को पाने का कोई तरीका है?

उत्तर

5

त्रुटि संदेश के आधार पर, मेरा पहला वृत्ति यह कहना होगा कि आप सी # 2.0 कंपाइलर का उपयोग कर रहे हैं।

मुझे यकीन नहीं है कि GetModel<T> का रिटर्न प्रकार क्या है। लेकिन यहां तक ​​कि यदि यह एक खाली विधि है, वास्तविक लैम्ब्डा अभिव्यक्ति एक वैध वाक्य रचनात्मक निर्माण है। यह एक अधिभार समाधान त्रुटि उत्पन्न करना चाहिए, एक पार्सिंग त्रुटि नहीं।

हालांकि यह सी # 2.0 कंपाइलर में मामला नहीं है। यह एक अवैध वाक्य रचनात्मक निर्माण होगा और उस त्रुटि संदेश का उत्पादन करेगा।

क्या आप यह सुनिश्चित करने के लिए जांच सकते हैं कि आप सी # कंपाइलर के सही संस्करण का उपयोग कर रहे हैं?

+0

आह, यह कहता है: संस्करण जानकारी: माइक्रोसॉफ्ट .NET Framework संस्करण: 2.0.50727.3053; एएसपी.नेट संस्करण: 2.0.50727.3053। मैं v3.5 कैसे निर्दिष्ट कर सकता हूं, और एएससीएक्स फाइलें मेरी बाकी की साइट से अलग क्यों प्रक्रिया करेंगी (जो निश्चित रूप से v3.5 है क्योंकि यह वेब प्रोजेक्ट प्रॉपर्टी फलक में लक्ष्य ढांचे के रूप में सेट है)? – tags2k

+0

एक तरफ के रूप में, GetModel का वापसी प्रकार सूची tags2k

+1

अब इसे सॉर्ट किया गया है - यह अजीब है। Web.config फ़ाइलों की तुलना करने के लिए एक नया 3.5 प्रोजेक्ट सेट अप करें और किसी कारण से system.codedom> compilers अनुभाग मेरी अन्य प्रोजेक्ट से खाली था! मुझे आश्चर्य है कि यह कितना समय है! – tags2k

संबंधित मुद्दे