SharePointContextProvider.Current.GetSharePointContext(Context)返回null

时间:2014-12-15 11:29:05

标签: sharepoint sharepoint-online

我在为SharePoint Online创建提供商托管应用时遇到了一些麻烦。 这个应用程序背后的想法是在其中包含多个部分,以实现不同的功能。我已经开发了一个"请求"这个页面非常有效并且可以按预期与SharePoint进行交互,但是,我现在已经开始创建另一个页面了。

我在解决方案资源管理器中的Pages文件夹中添加了一个新的Web窗体,并开始像以前一样开发我的页面,但是,后面的代码无法获取客户端上下文。经过进一步的调试,我发现它是SPHostUrl返回null,但我不确定为什么这会导致问题。 SharePoint是否存在包含多个Web表单的应用程序的问题?

非常感谢任何帮助。

编辑:似乎网址根本没有通过,因此没有从那里获取SPHostUrl值。为什么会这样呢?

1 个答案:

答案 0 :(得分:1)

确保在第一个请求中正确初始化SharePoint上下文。例如,SharePointContextFilter通过SharePointContextProvider.CheckRedirectStatus调用完成此操作。

SharePointContext类要求将某些参数作为查询参数或表单数据传递。 SharePointContext会将这些值存储在Cookie中以供进一步调用。如果您在第一个网页表单中初始化SharePointContext,其中所有必需信息都可用,您应该可以在其他网页上使用SharePointContext,即使并非所有信息都在网址中传递。