0

我的问题很简单。从一个 aspx 页面,我需要在新窗口中打开一个存储在 Sharepoint 中的文档。
要访问 SharePoint 中的文档,我需要提供凭据。
要在新窗口中打开文档,我需要使用 javascript。
=> 如何将两者联系起来?这是代码:

        ClientContext ctx = new ClientContext(strServerUrl);
        Web currentWeb = ctx.Web;

        ctx.Load(currentWeb);
        ctx.Credentials = new System.Net.NetworkCredential("Login", "Password", "Domain");

        ctx.ExecuteQuery();

        // Here I have access to SharePoint. 
        // I can download the document, but I just want to display it in a new window

        // something is missing here

        string strScript;
        strScript = "window.open('" + myUrltotheDocument + "','','width=800,height=800,resizable=yes,scrollbars=yes');";
        ScriptManager.RegisterStartupScript(myPanel, myPanel.GetType(), "ShowInfo", strScript, true);

谢谢您的帮助。

4

2 回答 2

0

尝试以下操作:

window.open(myUrltotheDocument",_blank","toolbar=no,menubar=0,status=0,copyhistory=0,scrollbars=yes,resizable=1,location=0,Width=800,Height=800") ;
于 2013-10-15T05:28:51.937 回答
0

最后,我发现从 .aspx 页面在新窗口中打开文档的唯一方法是将文档下载到服务器上的文件夹中,然后用 javascript 打开一个带有下载文档链接的窗口。

Uri uriVar = new Uri(strDocUrl);

int intDirectoryIndex = uriVar.LocalPath.LastIndexOf("/");
string strFileName = uriVar.LocalPath.Substring(intDirectoryIndex + 1);

System.Net.WebClient wcVar = new System.Net.WebClient();
wcVar.Credentials = new System.Net.NetworkCredential("Login", "Pwd", "Domain");
string strPath = HttpContext.Current.Server.MapPath("~/FileUpload/");
wcVar.DownloadFile(strDocUrl, strPath+strFileName);
string strLocalName = "FileUpload/" + strFileName;

string strScript;
strScript = "window.open('" + strLocalName + "','','width=800,height=800,resizable=yes,scrollbars=yes');";
ScriptManager.RegisterStartupScript(myPanel, myPanel.GetType(), "ShowInfo", strScript, true);

我不认为这是一个“不错的解决方案”,但它确实有效......如果有人有更好的解决方案,请告诉我。

于 2013-10-17T22:01:25.460 回答