2017-04-18 135 views
0

我正在研究SharePoint Web部件,该部件在页面上的不同div中显示多个不同的报告。在其中一个div中,我需要显示来自我们存储在SharePoint中'文档'容器中的页面的HTML。 HTML页面中的信息是从应用程序的几个不同部分检索的,显示方式不同,所以基本上我们将其用作源数据。我试图弄清楚如何从应用程序中访问页面,并希望将链接存储到文件中作为可配置的设置,以便我们可以为我们的开发/测试/产品环境进行设置。显示存储在SharePoint文档文件夹中的HTML页面

我已经加载HTML文件到“文档”文件夹,如果我浏览到它手动将其显示正常,但如果我使用以下命令:

SPSecurity.RunWithElevatedPrivileges(delegate 
{ 
    using (System.Net.WebClient client = new System.Net.WebClient()) 
    { 
    string htmlCode = client.DownloadString(url); 
    } 
} 

我得到一个403错误,并在响应标题的消息,“在从这个位置打开文件之前,您必须先浏览到网站并选择自动登录选项。”

我认为RunWithElevatedPriveleges会通过证书,但我很新的SharePoint。不知道如果我使用正确的方法,任何帮助表示赞赏。

回答

0

想通了。有一定数量的权限问题,但一旦这些进行分选,此代码工作:

using (SPSite site = new SPSite(SPContext.Current.Site.ID)) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
     SPFolder folder = web.GetFolder("MainFolder/Lists/MainFolderDocs"); 

     if (folder.Exists) 
     { 
     SPFile file = web.GetFile("/MainFolder/Lists/MainFolderDocs/Mainlist.html"); 
     if (file.Exists) 
     { 
      using (System.IO.StreamReader reader = new System.IO.StreamReader(file.OpenBinaryStream())) 
       { 
        string htmlCode = reader.ReadToEnd(); 
        lChecklist.Text = htmlCode; 
       } 
     } 
     } 
    } 

}

0

将页面放入标准文档库,然后使用页面查看器Web部件。网站资产库用于其他定制目的。您甚至不需要SharePoint Designer。页面查看器应设置为“网页”,因为网页查看器本质上是一个IFRAME。

如果仍然麻烦......它可能是在Web应用程序级别这就是导致问题与非Microsoft文件

转到中央管理>管理Web应用程序的设置。然后我选择了我的Web应用程序并单击“常规设置”按钮。然后,我将浏览器文件处理从“严格”更改为“宽容”,并解决了我的问题。我已经包含了该设置的附件,以便您可以阅读与其关联的文本。

enter image description here

+0

嗨泰姬陵,感谢您的答复。我忘了那个皱纹,我已经在网络部分。用户需要大量的自定义报告,因此我只在页面上放置了一堆div,然后在其中显示相应的报告块,然后将所有这些放在Web部件中 – TrevorGoodchild

相关问题