0

私はこれにしばらく苦労しており、インターウェブやフォーラムなどで役立つ情報を見つけることができません.

基本的に、SharePoint 2010 ドキュメント ライブラリのコンテンツを標準の MVC Web ページに出力するように依頼されました。

これが私のコードです:

public class HomeController : Controller
{
  public ActionResult Index()
  {
    using (ClientContext site = new ClientContext("Http://MySPSite"))
    {
      List list = site.Web.Lists.GetByTitle("MyList");    
      site.Load(list);
      site.ExecuteQuery();
    }

    return View();
}
4

1 に答える 1

1

次を使用して、必要なリストアイテムを取得できました

public ActionResult Index()
        {
            ViewData["Message"] = "Welcome to ASP.NET MVC!";
            List<string> documentTitles = new List<string>();
            using (ClientContext context = new ClientContext("http://siteurl"))
            {
                List list = context.Web.Lists.GetByTitle("doctest");
                context.Load(list);
                CamlQuery query = new CamlQuery();
                query.ViewXml = "<View/>";
                ListItemCollection listItems  = list.GetItems(query);
                context.Load(list);
                context.Load(listItems);
                //context.Load(listItems ,items => items.Include(
                //    item=>item["FileLeafRef"] 
                //    ));
                context.ExecuteQuery();
                foreach (ListItem item in listItems )
                {                    
                    documentTitles.Add(item["FileLeafRef"].ToString());
                }
            }
            return View(documentTitles);
        }

FileLeafRef は、「名前」列の内部名です。

インクルード FileLeafRef はデフォルトで含まれているためコメントアウトしましたが、他の列で必要になる場合があります。

また、クライアント ライブラリを使用しているため、これは .NET 3.5 で行う必要があります。

必要なデータをオブジェクトに入力し、それをビューに渡す必要があります (これを認識していない場合は、いくつかの mvc の例を確認する必要があります。例から、mvc を知っているかどうか、または知っているかどうかはわかりませんSharePoint の問題を示すコードを投稿しているだけです)

コンテキスト認証情報を設定する必要がある場合もあります

context.Credentials = new NetworkCredentials("Username", "Password", "Domain");

execute を呼び出す前に。

于 2012-12-07T17:19:49.640 に答える