我在为SharePoint Online创建提供商托管应用时遇到了一些麻烦。 这个应用程序背后的想法是在其中包含多个部分,以实现不同的功能。我已经开发了一个"请求"这个页面非常有效并且可以按预期与SharePoint进行交互,但是,我现在已经开始创建另一个页面了。
我在解决方案资源管理器中的Pages文件夹中添加了一个新的Web窗体,并开始像以前一样开发我的页面,但是,后面的代码无法获取客户端上下文。经过进一步的调试,我发现它是SPHostUrl返回null,但我不确定为什么这会导致问题。 SharePoint是否存在包含多个Web表单的应用程序的问题?
非常感谢任何帮助。
编辑:似乎网址根本没有通过,因此没有从那里获取SPHostUrl值。为什么会这样呢?
答案 0 :(得分:1)
确保在第一个请求中正确初始化SharePoint上下文。例如,SharePointContextFilter
通过SharePointContextProvider.CheckRedirectStatus
调用完成此操作。
SharePointContext
类要求将某些参数作为查询参数或表单数据传递。 SharePointContext
会将这些值存储在Cookie中以供进一步调用。如果您在第一个网页表单中初始化SharePointContext
,其中所有必需信息都可用,您应该可以在其他网页上使用SharePointContext
,即使并非所有信息都在网址中传递。