在执行方法和Web资源中获取传递过来参数的值
生活随笔
收集整理的這篇文章主要介紹了
在执行方法和Web资源中获取传递过来参数的值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關注本人微信和易信公眾號: 微軟動態CRM專家羅勇 ,回復228或者20161026可方便獲取本文,同時可以在第一間得到我發布的最新的博文信息,follow me!我的網站是 www.luoyong.me 。
首先我們來看看通過getQueryStringParameters來獲取參數的值。點擊子網格的加號進行增加記錄的時候,會發現URL中是類似這樣的,https://demo.luoyong.me/main.aspx?etc=10008&extraqs=%3f_CreateFromId%3d%257bB707DE1B-CF99-E611-8161-000D3A80C8B8%257d%26_CreateFromType%3d10007%26etc%3d10008&histKey=881427917&newWindow=true&pagetype=entityrecord#908569294? 這里就可以通過getQueryStringParameters來獲取參數_CreateFromId的值,這個值也就是自網格對應父記錄的ID。代碼如下: Xrm.Utility.alertDialog("父記錄ID=" + Xrm.Page.context.getQueryStringParameters()._CreateFromId); 我們知道每個調用的函數都可以做如下的設置: 如果選中了 將執行上下文作為第一個參數傳遞 ,那么執行函數的第一個參數的值將會傳遞它過來。 將傳遞給函數的以都好分隔的參數列表,我們可以以逗號分隔傳遞給執行函數參數,我這里第一個是傳遞數字參數10,第二個是傳遞字符串類型的參數,第三個也是字符串類型的參數,但是我希望在代碼中可以轉換為日期,所以我使用了類似 2016-01-01 00:00:00 的格式字符串來傳遞。然后執行的代碼可能就類似如下了: function OnLoad(eContext, numberPara, stringPara, datePara) {Xrm.Utility.alertDialog("傳遞過來的數字參數numberPara值是" + numberPara + ",類型是" + typeof (numberPara) + ";\n傳遞過來的字符參數stringPara值是" + stringPara + ",類型是" + typeof (stringPara) + ";\n傳遞過來的日期參數datePara值是:" + new Date(datePara).toLocaleString()); }?
當然啦,插入的Web資源還可以傳遞參數,我這里設置如下: ? 可以看到既選擇了 將記錄對象類型代碼和唯一標識符作為參數傳遞 ,還在 自定義參數(數據) 部分定義了一些自定義參數傳遞過去,我可以使用如下代碼獲取到值: var queryStrings = GetGlobalContext().getQueryStringParameters(); var alertStr = []; for (var prop in queryStrings) {if (prop.toLocaleLowerCase() != "data") {alertStr.push("傳遞的參數名是" + prop + ";參數值是:" + queryStrings[prop]);}else {var dataParaArray = queryStrings[prop].toString().split('&');for (var i = 0; i < dataParaArray.length; i++) {alertStr.push("傳遞的參數名是" + dataParaArray[i].split('=')[0] + ";參數值是:" + dataParaArray[i].split('=')[1]);}} } Xrm.Utility.alertDialog(alertStr.join("\n"));?
獲取到的結果如下: ? ?可以看到如果選中了 將記錄對象類型代碼和唯一標識符作為參數傳遞 ,則會傳遞參數OrgLCID,UserLCID, id, orgname, type, typename 參數過來。 注意,從V9.0 開始,Xrm.Page.context.getQueryStringParameters 不再推薦使用了(請參考官方的 Important changes (deprecations) coming in Dynamics 365 Customer Engagement ),可以參考下面的函數來獲取,函數來自David Walsh?的?Get Query String Parameters with JavaScript 。 function getUrlParameter(name) {name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');var results = regex.exec(location.search);return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));};?
轉載于:https://www.cnblogs.com/luoyong0201/p/Dynamics_365_Pass_Parameter_to_Web_Resource_Event_Handler.html
總結
以上是生活随笔為你收集整理的在执行方法和Web资源中获取传递过来参数的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOJ4118 Stones in th
- 下一篇: vue移动端立项