2013-01-10 61 views
12

में वेब भाग को उपयोगकर्ता नियंत्रण जोड़ें मैं एक दृश्य वेब हिस्सा मिल गया है बस एक ही <div id="newsListDiv" runat="server"></div> तत्व के साथ (से standart दृश्य stuido 2012 टेम्प्लेट से बनाया प्रपत्र "नया आइटम जोड़ें")। मैं प्रोग्राम के रूप में इसे करने के लिए अपने खुद के उपयोगकर्ता नियंत्रण जोड़ने के लिए निम्नलिखित कोड का उपयोग कर चाहते हैं:SharePoint 2013

protected void Page_Load(object sender, EventArgs e) 
{  
    NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/MainTheme/NewsLine.ascx") as NewsLine; 
    newsListDiv.Controls.Add(newsLine); 
} 

लेकिन जब मैं समाधान की तैनाती और पेज के लिए वेब भाग जोड़ने वह किसी त्रुटि पृष्ठ से पता चलता है, मुझे बताएगा कि फ़ाइल '/ _ControlTemplates/MainTheme/NewsLine.ascx 'मौजूद नहीं है। लेकिन अगर मैं फ़ोल्डर में देखने के लिए "C: \ Program Files \ Common Files \ Microsoft साझा \ वेब सर्वर एक्सटेंशन \ 15 \ खाका \ CONTROLTEMPLATES \ MainTheme" मैं देख सकता हूँ कि फ़ाइल वहाँ मौजूद है। मैंने ट्रस्ट स्तर को "पूर्ण" पर सेट करने का प्रयास किया है लेकिन मुझे एक ही त्रुटि मिली है। मैं भी इस तरह .ascx फ़ाइल में उपयोगकर्ता नियंत्रण जोड़ने की कोशिश की:

<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %> 

<div id="newsListDiv" runat="server"> 
    <uc1:NewsLine runat="server" id="NewsLine" /> 
</div> 

और इस तरह एक एक संकलन त्रुटि मिलती है: "नाम 'InitializeControl' वर्तमान संदर्भ में मौजूद नहीं है"। मैं भी देखा है कि जैसे ही मैं जोड़ने के रूप में रजिस्टर या संदर्भ लाइन मेरी .ascx फ़ाइल को (मेरे उपयोगकर्ता नियंत्रण करने के लिए पथ के साथ), .g.cs फ़ाइल खाली हो जाता है है! और जब मैं उस रेखा को हटा देता हूं तो यह फिर से भर जाता है। मैं "../_controltemplates/" जैसे कई अलग रास्ता लेखन की कोशिश की, "/ controltemplates/15 /", आदि लेकिन उनमें से कोई भी किसी भी फर्क पड़ा। मैं यहाँ बेताब हो रहा हूँ, कृपया मदद करें!

उत्तर

19

आप एक और विकल्प का प्रयास करने के लिए भूल गया था। _layouts फ़ोल्डर तक पहुंचने पर यह वही है। आपको 15 हाइव निर्दिष्ट करना चाहिए।

सही पथ है "~/_ControlTemplates/

NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/15/MainTheme/NewsLine.ascx") 
+0

भी कोशिश की है कि एक, फिर भी प्रयास विफल। ऐसा लगता है कि उपकरण के साथ कुछ समस्या है जो स्वचालित रूप से .g.cs फ़ाइल उत्पन्न करती है। वीएस को पुनः स्थापित करने का प्रयास किया, लेकिन इससे कोई मदद नहीं मिली। मैंने अभी के लिए UserControls का उपयोग न करने का निर्णय लिया है, लेकिन मुझे एक विचार आया है कि यह काम नहीं कर सकता क्योंकि मैंने VS में ControlTemplates फ़ोल्डर को मैप किए गए फ़ोल्डर के रूप में नहीं बनाया है। उस पर जांच कर लेंगे ... – 4tuneTeller

+1

वही समस्या यहाँ है, लेकिन समाधान काम किया! एक टन Thnx। – ChiYoung

+0

यह मेरे लिए भी काम किया .. बहुत बहुत धन्यवाद :)! – Muhammedh

0

एक ही मुद्दे में चल रहा था। मैं पथ के लिए 15 को जोड़ने के लिए सुझाव नहीं देखा था और यह मेरे लिए काम किया। The मेरे संदर्भ और आपके बीच के बीच केवल दूसरा अंतर है कि मेरे पास शुरुआत में ~ नहीं है।/पहला अक्षर है।

0

मुझे यह वही समस्या है जब यह कोड के पीछे मैं करता हूं लेकिन मुझे कोई भाग्य नहीं मिलता है मैं किसी अन्य नियंत्रण की तरह एसीएक्स में जोड़ने की कोशिश करता हूं! - भगवान सब कुछ शेयरपॉइन में क्यों अलग होना चाहिए टी? !!!!