के भीतर अलग-अलग कक्षा से VisualWebPart (.cs) में C# विधि को कॉल करने के लिए कैसे मैं सी # और शेयरपॉइंट प्रोग्रामिंग के लिए बहुत नया हूं।एक ही नामस्थान
मैं वेबपर्ट और सी # के बारे में जानने के लिए प्रयास कर रहा हूं। मैंने एक दृश्य वेबपर्ट बनाया जो सूची में आइटम जोड़ता/हटा देता है। मेरे पास एक विधि है जिसे बटन पर क्लिक किया जाता है जो सूची में आइटम जोड़ता है।
protected void Button1_Click(object sender, EventArgs e)
{
TestMethod();
}
यह ठीक काम करता है:
public void TestMethod()
{
using (SPSite oSPSite = SPContext.Current.Site)
{
using (SPWeb ospweb = oSPSite.OpenWeb())
{
SPList lst = ospweb.Lists["CusomList1"];
SPListItem item = lst.Items.Add();
item["Item1"] = txt1.Text;
item["Item2"] = txt3.Text;
item["Item3"] = Convert.ToInt32(txt3.Text);
item["Item4"] = txt4.Text;
item.Update();
}
}
}
यह भी कहा जाता है:
यहाँ मेरी विधि है। मैं एक ही वेबपर्ट पर एक ही विधि का उपयोग करने की कोशिश कर रहा हूं जो वही काम करता है (आइटम जोड़ें)।
हालांकि मैं एक ही परियोजना पर एक नया दृश्य webpart जोड़ा गया है और काम नहीं करता वर्ग और
protected void Button1_Click(object sender, EventArgs e)
{
VWP1 NewClass = new VWP1();
NewClass.TestMethod();
}
बटन इस जोड़े के रूप में विधि कहा जाता है जब और जब मैं एक डिबग मैं निम्न संदेश मिलता है:
Object reference not set to an instance of an object.
क्या कोई मुझे बता सकता है कि मुझे क्या करना चाहिए?
मैंने कहीं पढ़ा है कि एक 'का प्रयोग' बयान कुछ हद तक महत्वपूर्ण जब विंडोज SharePoint सेवाएँ वस्तुओं का उपयोग करके Microsoft .NET फ्रेमवर्क में स्मृति में वस्तुओं को बनाए रखना से बचना है। क्या यह सही नहीं है? –
@AndresAdhi आपके द्वारा बनाई गई 'SPSite'/'SPWeb' ऑब्जेक्ट्स का निपटान करना बहुत महत्वपूर्ण है। साइट/वेब ऑब्जेक्ट्स का निपटान करने के लिए यह उतना ही महत्वपूर्ण नहीं है जिसे आपने नहीं बनाया था। बस सब कुछ के आसपास 'उपयोग' डालने से समस्याएं पैदा होंगी; आपको यह जानने की जरूरत है कि यह कब है और उचित नहीं है। आपको वर्तमान संदर्भ का निपटान नहीं करना चाहिए। – Servy
बस अपनी समझ को आगे बढ़ाने के लिए मैं http://solutionizing.net/2008/12/06/the-new-definitive-spsitespweb-disposal-article/ को पढ़ने का सुझाव देना होगा निपटान +1 के बारे में सलाह का अच्छा टुकड़ा! अगर आपको ऑब्जेक्ट को निपटाने के बारे में कोई चिंता हो तो भी देखें http://archive.msdn.microsoft.com/SPDisposeCheck – Truezplaya