在sharepoint加载项中检索查询字符串

Tom*_*sen 5 sharepoint sharepoint-2013 sharepoint-apps

我正在开发一个Sharepoint 2013加载项,我需要检索原始请求的查询字符串.

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

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

STO*_*ORM 2

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

\n\n
Uri myurl = new Uri(Request.QueryString["SPHostUrl"]);\nstring param1 = HttpUtility.ParseQueryString(myUri.Query).Get("p");\n
Run Code Online (Sandbox Code Playgroud)\n\n

或使用

\n\n
string param1 = Request.QueryString["p"];\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

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

  • SPHostUrl 不包含原始请求的查询字符串。请求 Sharepoint 加载项时,用户会在此过程中重定向。 (2认同)