2010-01-15 15 views
14

यह एक ASPX पेज में इस इनलाइन की तरह कुछ करने के लिए संभव है?क्या मैं एएसपीएक्स पेज में एक्सटेंशन विधियों इनलाइन का उपयोग कर सकता हूं?

<%= Me.SomeExtensionMethod() %> 

मुझे यह पता लगाना प्रतीत नहीं होता कि इसे ठीक से काम करने के लिए कैसे प्राप्त किया जाए। मुझे यह कहते हुए एक त्रुटि मिल रही है कि "SomeExtensionMethod" वर्तमान पृष्ठ ऑब्जेक्ट का सदस्य नहीं है। मैंने अपने पृष्ठ के शीर्ष पर आवश्यक <%@ Import Namespace="..." %> निर्देश जोड़ा है। यह करता है में काम कोड-पीछे।

यह जैविक रूप से महत्वपूर्ण नहीं है, लेकिन यह पता करने के लिए भविष्य में क्या करने के लिए कैसे अच्छा होगा।

धन्यवाद!

उत्तर

8

.aspx पृष्ठ को बंद करने और this answer के अनुसार इसे फिर से खोलने का प्रयास करें। अगर इससे चीजों में सुधार होता है (उदाहरण के लिए इंटेलिजेंस सक्षम करें) लेकिन इसे हल नहीं करता है, तो कृपया आपको प्राप्त होने वाली नई त्रुटियों को पोस्ट करें।

आप अपने Module या class परिभाषा में Public संशोधक भी जोड़ सकते हैं। आप मॉड्यूल का उपयोग कर रहे हैं, यह वास्तव में मेरे लिए कोई मतलब नहीं है कि यह आवश्यक होगा, लेकिन this forum पर कुछ चर्चा इंगित करता है कि यह मदद कर सकता है।

+1

यह काम किया! आप की तरह, यह वास्तव में मुझे समझ में नहीं आता है, लेकिन "सार्वजनिक" पहुंच संशोधक जोड़ना चाल था। धन्यवाद! – Pwninstein

+0

मेरे लिए काम किया! मुझे अपने मॉड्यूल को सार्वजनिक दायरे में बदलना पड़ा और "नेमस्पेस। मॉड्यूलनाम" में एक आयात जोड़ना पड़ा। – EverPresent

+0

धन्यवाद - मैंने 'आयात' कथन का उपयोग किया और यह काम किया। – strider

0

यह codebehind में काम कर रहा है, तो समारोह कॉल करने के लिए नाम स्थान जोड़ें:

<%=MyNamespace.ExtensionFcn("hello, world") %> 

मैं यह कर चाहते हैं इससे पहले कि मैं web.config संशोधित चाहते हैं।

9

नाम स्थान में आयात जोड़ना मेरे लिए काम करता है!

<%@ Import Namespace="Foo.FooFoo" %> 
+1

यह यहाँ जवाब है। यह पहुंच योग्य नहीं है क्योंकि क्लास जिसमें एक्सटेंशन विधि है, एएसपीएक्स के लिए जेनरेट की गई कक्षा के भीतर स्वचालित रूप से आयात-एड/'उपयोग'-एड नहीं है। कोड-बैक में एक आयात/उपयोग क्लॉज जोड़ना या तो मदद नहीं करता है क्योंकि कोड-बैक केवल एएसपीएक्स-क्लास का बेस क्लास है। – JMD

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