2013-09-27 3 views
1

J'ai créé une application hébergée par un fournisseur SharePoint 2013 à l'aide de Visual Studio. Il n'utilise pas les parties Web. Je dois récupérer les données de SharePoint 2013 liste résidant sur le site SharePoint collection.I peut le faire avec une partie web visuelle par ce codeRécupération des données de liste SharePoint 2013 à partir de l'application hébergée par le fournisseur Sharepoint

private DataTable GetItemDetails() 
{ 
     SPWeb spweb = SPContext.Current.Web; 
     SPList ticketsList = spweb.GetList("[http://git-hub/sites/mysiteName/Lists/CalendarList/AllItems]"); 
     return ticketsList.Items.GetDataTable(); 
} 

Cela m'a donné table des articles et j'ai utilisé cette table pour obtenir la données requises. Mais le problème est maintenant que je veux utiliser les mêmes données mon application SharePoint qui est faite de pages asp.net avec le code C# derrière. J'ai utilisé le même code mais il me donne une erreur comme «

Microsoft SharePoint est pas pris en charge dans le processus 32 bits. S'il vous plaît vérifier que vous exécutez dans un exécutable 64 bits. » Même si j'utilise une forme de plaque dans les paramètres de construction de l'application. S'il vous plaît laissez-moi savoir si de toute façon je peux récupérer les données de la liste sur la page asp.net pour montrer à l'utilisateur leurs horaires.

+0

Salut, je viens de trouver la solution à cette question avec l'aide de mes collègues. Nous avons utilisé le service Web de SharePoint Providing. Voici le lien pour obtenir le service Web. http://msdn.microsoft.com/en-us/library/lists.aspx Voici le lien vers le blog très utile qui décrit comment l'utiliser http://sarangasl.blogspot.ca/2009/12 /sharepoint-list-web-service.html Merci. Espérons que cela sauvera le jour quelqu'un. Comme il m'a fallu une journée pour arriver à ce résultat. –

Répondre

0

vous pouvez également utiliser le modèle objet client géré:

Uri hostWeb = new Uri(Request.QueryString["SPHostUrl"]); 
     List<string> listOfUsers = new List<string>(); 


     using (var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostWeb, Request.LogonUserIdentity)) 
     { 

      List oList = clientContext.Web.Lists.GetByTitle("TestList"); 

      CamlQuery camlQuery = new CamlQuery(); 
      camlQuery.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/>" + 
       "<Value Type='Number'>0</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>"; 
      Microsoft.SharePoint.Client.ListItemCollection collListItem = oList.GetItems(camlQuery); 

      clientContext.Load(collListItem); 

      clientContext.ExecuteQuery(); 

      foreach (Microsoft.SharePoint.Client.ListItem oListItem in collListItem) 
      { 
       listview.Add(string.Format("ID: {0} \nTitle: {1}", oListItem.Id, oListItem["Title"])); 
      } 

      ListList.DataSource = listOfUsers; 
      ListList.DataBind(); 

     } 
Questions connexes