dynamic crm中打开自定义页面并传递参数

在dynamic crm中打开web资源并传递参数

  1. 通过xrm的navigateTo方式实现
// 这里放上官方文档
// pageInput 输入、navigationOptions 导航到页面的选项 以及 成功和失败回调
Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);
// 定义传递给自定义页面的参数
var pageInput = {
	pageType: "webresource",
    webresourceName: "html/UploadFile.html", // 自定义 HTML 页面路径
    data: JSON.stringify({ // 注意这里的键名是 'data'
    		option: 参数1,
            user: 参数2
    }) 
};
// 弹窗选项
var navigationOptions = {
    target: 2, // 在对话框中打开
    width: 600,
    height: 450,
    position: 1,// 居中位置, 
    title: "Upload"
};

Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
	function success(res) {
		// res 返回参数
		if (res) {
           console.log(res);
        }
	},
	function error(error) {
		console.log("打开对话框时出错:", error);
	}
)

自定义页的入参接收以及返回参数

//  解析url中参数
var urlParams = new URLSearchParams(window.location.search);
var dataParam = urlParams.get("data"); // data是上文代码块中的 键名
if (dataParam) {
	try {
         // 解码 URI 组件并解析 JSON 字符串
         var decodedData = decodeURIComponent(dataParam);
         var dialogArgs = JSON.parse(decodedData);
         var options = dialogArgs.option; //  option、user 均为传输数据中的参数名
         var user = dialogArgs.user;
    } catch (error) {
         console.error("解析传递参数失败:", error);
   }
}

// 设置返回参数
window.returnValue = "操作成功";
window.close();

具体可参照navigateTo官方文档,以下是官方文档部分属性截图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值