こんにちは私はSharePoint名前空間を使用して開発していますが、私のサイトからURL列を取得しようとすると次のエラーが発生しました。SharePointリストエラー:「期待値域内に値が入っていません」
"Value does not fall within the expected range"
私がやっているすべては、次のとおりです。
item["URL"]
誰かが、私はこれについて何ができるかを教えてもらえますか?
こんにちは私はSharePoint名前空間を使用して開発していますが、私のサイトからURL列を取得しようとすると次のエラーが発生しました。SharePointリストエラー:「期待値域内に値が入っていません」
"Value does not fall within the expected range"
私がやっているすべては、次のとおりです。
item["URL"]
誰かが、私はこれについて何ができるかを教えてもらえますか?
これは、通常、「URL」がリストのフィールドではないことを意味します。
昇格したInfoPath列の場合は、サイトのフォームテンプレートを無効にして再度アクティブ化してみてください。私はinfopathテンプレートに新しい昇格フィールドを追加するたびにこれを行う必要があることに気付きました。
リストにあります... –
特定の 'item'にはnullがありますか? – vapcguy
SPListItem
のURLを取得するには、Item.Url
を使用してください。
私が探しているURLではなく、私が作成した列のURLを探しています。 –
昇格したInfoPathの列の場合は、サイトのフォームテンプレートを無効にして再度アクティブにしてみてください。私はinfopathテンプレートに新しい昇格フィールドを追加するたびにこれを行う必要があることに気付きました。 – Tundey
エラーは間違いなくフィールドが見つからないことを意味します。
プロセスをデバッグし、内部名を見つけるためにListItem.Fields.SchemaXML
プロパティを調べます。内部ではURL
以外の名前で保存することができます。次のメソッドを使用して、リスト項目の値を取得することもできます。
SPField l_field = l_item.Fields.GetField("URL");
string l_fieldValue = l_item[l_field.Id].ToString();
GetField
方法は、両方のDisplayName & InternalNameでフィールドを探します。
public static string GetItemURLValue(SPListItem item, string fieldName)
{
string exit = "";
SPFieldUrlValue link = new SPFieldUrlValue(item[fieldName].ToString());
exit = link.Url;
return exit;
}
URLを取得する特別な方法があります。試してみてください:
SPListItem li = ...
SPFieldUrlValue fuv = new SPFieldUrlValue(li[strFieldName].ToString());
return fuv.Url;
申し訳ありませんが、ライアンが同様のソリューションを投稿していることがわかります。 – strongopinions
マインはWindowsアプリケーションです。私は設定を作成してデプロイした後、この例外を取得することがありました。
私のアプリケーションはExcelで記述して保存する必要がありました。 COMコンポーネント 'Microsoft Excel 11.0 Object'のリファレンスを使用しました。私はこのリファレンスを追加すると、実際には3つのdllが参照リストに表示されることに気付きました。
私は 'VBIDE' の参照を削除し、私の問題が解決されます。
それだけで列名だとフォーマット「テキストのシングルライン」で、何についての場合:
item["URL"] != null ? item["URL"].ToString() : "Not Found";
あなたはどの言語を使用していますか? –