2009-03-02 6 views
8

हाय मैं शेयरपॉइंट नेमस्पेस का उपयोग कर विकास कर रहा हूं और जब मैं अपने lsits में से एक URL कॉलम पुनर्प्राप्त करने का प्रयास करता हूं तो मैं निम्न त्रुटि में भाग गया।शेयरपॉइंट सूची त्रुटि: "मान अपेक्षित सीमा के भीतर नहीं आता है"

"Value does not fall within the expected range" 

सभी मैं कर रहा हूँ है:

item["URL"] 

कोई मुझे बता सकते हैं कि मैं इस बारे में क्या कर सकते हैं?

+0

आपको कौन सी भाषा का उपयोग कर रहे हैं? –

उत्तर

0

आमतौर पर इसका मतलब है "यूआरएल" सूची में एक क्षेत्र नहीं है।

यदि यह एक प्रचारित InfoPath कॉलम है, तो फ़ॉर्म टेम्पलेट को साइट पर निष्क्रिय करने और पुन: सक्रिय करने का प्रयास करें। मैंने देखा है कि जब भी मैं एक नया प्रचारित फ़ील्ड को इन्फोपैथ टेम्पलेट में जोड़ता हूं तो मुझे यह करना होगा।

+0

यह सूची में है ... –

+0

यह विशेष 'आइटम' पर शून्य हो सकता है? – vapcguy

1

SPListItem का URL प्राप्त करने के लिए, Item.Url का उपयोग करें।

+0

वह यूआरएल नहीं है जिसे मैं ढूंढ रहा हूं, मैं अपने द्वारा बनाए गए कॉलम यूआरएल की तलाश में हूं। –

+0

यदि यह एक प्रचारित InfoPath कॉलम है, तो फ़ॉर्म टेम्पलेट को साइट पर निष्क्रिय करने और पुन: सक्रिय करने का प्रयास करें। मैंने देखा है कि जब भी मैं एक नया प्रचारित फ़ील्ड को इन्फोपैथ टेम्पलेट में जोड़ता हूं तो मुझे यह करना होगा। – Tundey

8

त्रुटि का निश्चित रूप से मतलब है कि फ़ील्ड नहीं मिल सका।

प्रक्रिया को डीबग करें और ListItem.Fields.SchemaXML संपत्ति को अपना आंतरिक नाम ढूंढने के लिए देखें, इसे URL के अलावा आंतरिक रूप से सहेजा जा सकता है। आप सूची आइटम मान प्राप्त करने के लिए निम्न विधि का भी उपयोग कर सकते हैं।

SPField l_field = l_item.Fields.GetField("URL"); 
string l_fieldValue = l_item[l_field.Id].ToString(); 

GetField विधि दोनों DisplayName & InternalName से एक क्षेत्र के लिए लग रहा है।

+0

मैं SharePoint – Nat

+2

में स्कीमा xml और अन्य मजेदार सामान को देखने के लिए SharePoint प्रबंधक की अनुशंसा करता हूं दो बिंदु - SPBuiltInFieldId गणना के बारे में न भूलें, और सुनिश्चित करें कि आप GetItems के SPQuery संस्करण का उपयोग कर रहे हैं जिसमें आप चाहते हैं कि फ़ील्ड शामिल करें क्वेरी –

+1

के भाग में तो शेयरपॉइंट क्यों नहीं कह सकता कि "फ़ील्ड नहीं मिला" या ऐसा कुछ? शायद यह सिर्फ मुझे है लेकिन ये त्रुटि संदेश निराशाजनक हैं। ऐसा लगता है कि वे सिर्फ अपने कोड बबल अप के लिए अपवाद दे रहे हैं और फिर प्रोग्रामर अनुमान लगाएं ... – osiris

1
public static string GetItemURLValue(SPListItem item, string fieldName) 
    { 
     string exit = ""; 
     SPFieldUrlValue link = new SPFieldUrlValue(item[fieldName].ToString()); 
     exit = link.Url; 
     return exit; 
    } 
0

URL पुनर्प्राप्त करने के लिए एक विशेष विधि है। इसे आज़माएं:

SPListItem li = ... 
SPFieldUrlValue fuv = new SPFieldUrlValue(li[strFieldName].ToString()); 
return fuv.Url; 
+1

क्षमा करें, मुझे लगता है कि रयान ने एक समान समाधान पोस्ट किया है। – strongopinions

0

मेरा एक विंडोज़ एप्लिकेशन है। सेट अप करने के बाद और तैनाती की कोशिश करने के बाद मुझे यह अपवाद प्राप्त होता था।

मेरे एप्लिकेशन को Excel में लिखने और फिर इसे सहेजने की आवश्यकता है। मैंने COM घटक 'माइक्रोसॉफ्ट एक्सेल 11.0 ऑब्जेक्ट' के संदर्भ का उपयोग किया। मैंने देखा कि जब मैं इस संदर्भ को वास्तव में 3 डीएलएल को अपनी संदर्भ सूची में प्रकट करता हूं।

  1. Microsoft.office.core
  2. एक्सेल
  3. VBIDE

मैं 'VBIDE' संदर्भ हटा दिया और मेरी समस्या हल कर रहा है।

0

यदि यह महज एक स्तंभ नाम है और प्रारूप "पाठ की एक पंक्ति", किस बारे में में:

item["URL"] != null ? item["URL"].ToString() : "Not Found"; 

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

  • कोई संबंधित समस्या नहीं^_^