2016-11-22 48 views
0
我用

代码是:我试图在SharePoint中搜索文件

List<ScenarioModel> result = new List<ScenarioModel>(); 

      string webUrl = "https://microsoft.sharepoint.com/teams/ABCD/EFGHI"; 

      string userName = System.Configuration.ConfigurationManager.AppSettings["userName"]; 

      SecureString password = ConvertToSecureString(System.Configuration.ConfigurationManager.AppSettings["userPassword"]); 

      using (ClientContext ctx = new ClientContext(webUrl)) 
      { 
       ctx.Credentials = new SharePointOnlineCredentials(userName, password); 
       Web web = ctx.Web; 
       ctx.Load(web); 
       Microsoft.SharePoint.Client.List docList = web.Lists.GetByTitle("Documents"); 
       ctx.Load(docList); 

       KeywordQuery keywordQuery = new KeywordQuery(ctx); 
       keywordQuery.QueryText = queryText; 

       SearchExecutor searchExecutor = new SearchExecutor(ctx); 

       ClientResult<ResultTableCollection> results = searchExecutor.ExecuteQuery(keywordQuery); 

       ctx.ExecuteQuery(); 
       foreach (var resultRow in results.Value[0].ResultRows) 
       { 
        ScenarioModel modelObject = new ScenarioModel(); 
        modelObject.Path = resultRow["Path"]; 
        modelObject.Title = resultRow["Title"].ToString(); 
        result.Add(modelObject); 
       } 
      } 

      return result; 

现在这个返回我的正确路径。当我点击网址时,我被要求下载一个音符文件。有没有一种方法可以在线打开这个SharePoint文件,而不是下载它?

+0

你列出了哪些类型的文件? –

+0

我正在寻找一个音符文件 – Akshay

+0

试试这个:https://technet.microsoft.com/en-us/library/ee837425(v=office.15).aspx –

回答

1

我瑶池这样

      ctx.Load(item.File); 
         ctx.ExecuteQuery(); 
         Console.WriteLine(item.File.LinkingUrl); 

LikingUrl是你想要什么,我想。

+0

Thanks @Mary。这就是我一直在寻找的东西。 – Akshay