0

1)Title、2)LoginUser、3)ParentSiteAccess の 3 つの列を持つリストがあります。特定のユーザーがログインしている場合、3 番目の列 (つまり、ParentSiteAccess) の値を取得する必要があります。以下のクエリを使用して取得しています。

query.Query = @"<Where><Eq><FieldRef Name='LoginUser'/><Value Type='Text'>" + userName + "</Value></Eq></Where>";
                    query.ViewFields = "<FieldRef name='ParentSiteAccess'/><FieldRef name='LoginUser'/>";
                    query.ViewFieldsOnly = true;

しかし、私はこのアプローチに慣れていません。誰でも有効な解決策を教えてもらえますか?

4

1 に答える 1

1

クエリは整形式に見えますが、環境にアクセスできないと、デバッグが非常に困難になります。一般的な問題は、列の表示名が内部名と一致しないことです。

私が言える最善のことは、U2U CAMLQueryBuilderと呼ばれる便利な無料プログラムのコピーを入手することです。2007バージョンはSP2010で正常に動作します。

SharePointのインストールと同じボックスを使用していない場合は、「SharePointWebサービス」を使用して接続します。その場合、「オブジェクトモデル」または「Webサービス」オプションのいずれかが機能します。

ログインしたら、リストをポイントし、UIを使用してクエリを作成します。それの最も良い点は、表示名で列を選択できることですが、内部名を使用してクエリを作成します。これは、クエリを試して、返される内容についてすぐにフィードバックを得る簡単な方法です。

動作するクエリを取得したら、ユーティリティのウィンドウからコードにコピーするだけです。

于 2011-05-25T13:00:13.467 に答える