检索 SharePoint 外接程序中的查询字符串



我正在开发一个 SharePoint 2013 外接程序,我需要检索原始请求的查询字符串。

用户通过电子邮件链接到我们的加载项,我们需要提供一些上下文。加载项的请求如下所示:https://x.sharepoint.com/MyAddIn?p=10

是否可以在我的加载项中检索 p 的值?

您可以使用以下代码片段:

Uri myurl = new Uri(Request.QueryString["SPHostUrl"]);
string param1 = HttpUtility.ParseQueryString(myUri.Query).Get("p");

或使用

string param1 = Request.QueryString["p"];

如果你想通过JS做到这一点,那么继续这个

 function getQueryStringParameter(paramToRetrieve) {         
     var params;         
     var strParams;           
     params = document.URL.split("?")[1].split("&");         
     strParams = "";         
     for (var i = 0; i < params.length; i = i + 1) {             
         var singleParam = params[i].split("=");             
         if (singleParam[0] == paramToRetrieve)
             return singleParam[1];         
     }     
 }     
 var sProp = decodeURIComponent(getQueryStringParameter("StringProperty1"));     
 document.write('Value of StringProperty1 : ' + sProp + '</br>');

SPHostUrl 绝对不应该包含您的参数,但您是否尝试过@STORM的其他建议: string param1 = Request.QueryString["p"];

此外,我认为如果您将

内置加载项查询字符串附加到您发送给用户的 URL,则可能会避免重定向,如下所示: http://<your-app-prefix>.domain.com/<Add In>?SPHostUrl=<host url>&SPAppUrl=<app url>&...&p=10

处理过的加载项向用户发送电子邮件,其中包含也需要上下文的链接,这种方法对我有用。

如果这不起作用,则外接程序是提供程序托管的外接程序还是 SharePoint 托管的外接程序。这些额外的信息可能会有所帮助。

相关内容

  • 没有找到相关文章

最新更新