2009-03-02 16 views
1

こんにちは、私はSPListItemについての質問とそこから値を取得する方法を持っています。私が見ているところでは "記事"にアクセスできますが、 "リンク"にアクセスしようとするとオブジェクトが初期化されていないというエラーが表示されます。私は何が起こっているのか分からない? Articleフィールドを取得できるときにリンクを取得できないのはなぜですか?ここで私が使用しているコードは次のとおりです。SharePointリストアイテムが返されないフィールド

SPList myList = eachWeb.Lists["Listings"]; 
SPListItemCollection myItemCollection = myList.GetItems(myList.Views["Active Announcements"]); 
for (int i = 0; i < myItemCollection.Count; i++) 
{ 
SPListItem realitem = myItemCollection[i]; 
writer.Write(realitem["Article"].ToString()+"<BR>"); // Works without the bottom line 
writer.Write(realitem["Link"].ToString()+"<BR>"); // Causes error 

私の見解は、記事とリンクの両方のための列が含まれています。ありがとうございました。

+0

ここでは、「値が予想される範囲内にない」というエラーが表示されます。 –

+0

デバッグを試み、フィールドの名前を調べます。 –

答えて

3

フィールドの内部名が表示名と一致しないことがあります。特にリストを作成した後に名前を変更した場合は特にそうです。デバッグして、SPListItemCollectionのフィールドの名前を調べて、そこにあるものがどれか分かるかどうか確認してください。

+0

内部のIEでどのようにして呼び出すことができますか) realitem ["Article"]とは何ですか?内部名か表示名ですか? –

+0

あなたは常に項目を取得するために内部名を使用していますが、場合によっては実名が表示名と一致します。これは必ずしも当てはまるわけではありません。たとえば、リストを表示すると 'Title'と表示されるフィールドがありますが、その内部名は 'Name'です。 –

+0

ListItem.Fields.SchemaXMLプロパティは、基になるアイテムXMLを返します。これにはDisplayNameとInternal Nameが含まれます。 – Jason

関連する問題