Xrm.Internal.openDialog打开对话框自定义页面
1 //URL为上传好后的web资源地址
2 let URL = Xrm.Page.context.getClientUrl() + "/WebResources/xxxx_xxxxhtml"
3 let encodeParams = "entityName=" + entityName + "&entityId=" + entityId + "&business=" + business + "&bub=" + bub + "&kdFactoryId=" + kdFactoryId + "&productionFactoryId=" + productionFactoryId + "&packageFactoryId=" + packageFactoryId
4 let ReturnMsg = null
5 let DialogOption = new Xrm.DialogOptions
6 DialogOption.width = 1000
7 DialogOption.height = 700
8 Xrm.Internal.openDialog(URL + "?Data=" + encodeURIComponent(encodeParams),
9 DialogOption,
10 null, null,
11 function (returnValue) {
12 console.log(returnValue)
13 ReturnMsg = "{" + returnValue + "}";
14 if (Xrm.Page.getControl("kd_claimdetail")) {
15 Xrm.Page.getControl("kd_claimdetail").refresh();
16 Xrm.Page.data.refresh();
17 }
18 })
1 let entityId = getParam("entityId")
2 let entityName = getParam("entityName")
3 let business = getParam("business")
4
5 /**
6 * 从URL中读取参数Data下的指定参数的值,如URL为【http://test.com?Data=name%3D%E6%82%A8%E5%A5%BD】
7 * getParam('name')读取的为Data的值通过解码后,读取其中name参数的值
8 */
9 function getParam(param) {
10 let htmlParameters = parseParams()
11 return htmlParameters[param]
12 }
13 // 解析URL传入的参数
14 function parseParams() {
15 var objData = {};
16 var vals = decodeURIComponent(getParameter("Data")).split("&");
17 for (var i = 0; i < vals.length; i++) {
18 var pr = vals[i].replace(/\+/g, " ").split("=");
19 if (pr.length != 2) {
20 continue;
21 }
22 objData[pr[0]] = pr[1];
23 }
24 return objData;
25 }
26 //获得参数信息
27 function getParameter(param) {
28 var query = window.location.search;
29 var iLen = param.length;
30 var iStart = query.indexOf(param);
31 if (iStart == -1)
32 return "";
33 iStart += iLen + 1;
34 var iEnd = query.indexOf("&", iStart);
35 if (iEnd == -1)
36 return query.substring(iStart);
37 return query.substring(iStart, iEnd);
38 }
JS打开对话框方法二:
1 let params = { 'id': EntityId, 'type': EntityName, 'status': status, 'roles': roles }
2 var DialogOption = new Xrm.DialogOptions
3 DialogOption.width = 750;
4 DialogOption.height = 550;
5 Xrm.Internal.openDialog("/WebResources/xxxx_xxxhtml", DialogOption, params, null, function (returnValue) {
6 console.log('调用成功 返回值:' + returnValue); //这里就可以接收到弹窗上面传过来的数组
7 });
1 //获取url参数
2 var id = window.getDialogArguments().id;
3 var type = window.getDialogArguments().type;
4 var str_status = window.getDialogArguments().status;
5 var roles = window.getDialogArguments().roles;
实现效果:

Xrm.Internal.openDialog打开对话框自定义页面的更多相关文章
- 运用javascript的成员访问特性来实现通用版的兼容所有浏览器的打开对话框功能
打开网页对话框,一般有三种方法:window.open.window.showModalDialog.window.showModelessDialog,每一种都有它的优点与不足.第一种方法:wind ...
- worldpress自定义页面
一:wordpress制作自定义页面的方法 有时候我们需要制作一些个性化的页面,而不是直接用wordpress的page页面模板.这时候我们就需要自已写一个页面出来.下面介绍一下制作流程: 第一步:制 ...
- H5打开app指定页面(H5+app项目)
H5+app项目,在HBuilderX中设置 详情参考官方 https://ask.dcloud.net.cn/article/64 给h5+app设置scheme值,作用:在其它app和h5页面中启 ...
- 帝国CMS自定义页面的添加与目录式链接的处理
需求: 1.将某一本地前端自定义页面模板,导入到帝国系统,应用到网站 2.将导入的页面在站点中打开为目录式链接 www.abc.com/softlink/ 环境: 1.windows服务器 2.帝国C ...
- JS事件 加载事件(onload)注意:1. 加载页面时,触发onload事件,事件写在<body>标签内。 2. 此节的加载页面,可理解为打开一个新页面时。
加载事件(onload) 事件会在页面加载完成后,立即发生,同时执行被调用的程序. 注意:1. 加载页面时,触发onload事件,事件写在<body>标签内. 2. 此节的加载页面,可理解 ...
- SharePoint开发 - 自定义页面(错误页、登出页)
博客地址 http://blog.csdn.net/foxdave 本文叙述如何自定义SharePoint的固有页面,比较简单,用一句话说就是"做个页面,写一句代码." 创建Sha ...
- js showModalDialog打开新的页面给原页面传值问题
a.html中打开一个新页面b.html,b.html页面给a.html中的input传一个值并将value赋给input框. a.html: <html> <head> ...
- .net开发---自定义页面打印区域
自定义页面打印区域 有3种办法: 办法一:将不需要打印的部位隐藏掉 Examp: <%-- (1)使用css样式,定义一个.noprint的class,将不打印的内容放入这个class内. -- ...
- unity3d打开对话框
最近一直在忙项目,没时间更新博客,这两天趁空封装windows下的打开对话框,支持多选.其他系统可以用ngui或者ugui封装一个. 这里就不上封装的源码了提供dll供小伙伴们使用,如果有需要源码请请 ...
- Android系统对话框——自定义关闭
Android系统对话框--自定义关闭 Dialog是我们在项目中经常用到的,5.x以后的Dialog也很好看,很安卓风,Android也给我们提供了新的包,低版本可以显示一样的效果.我们在使用的导入 ...
随机推荐
- 元类、实现ORM
阅读目录: 元类 元类实现ORM 元类 1. 类也是对象 在大多数编程语言中,类就是一组用来描述如何生成一个对象的代码段.在Python中这一点仍然成立: >>> class Obj ...
- LeetCode题目练习记录 _栈、队列01 _20211012
LeetCode题目练习记录 _栈.队列01 _20211012 84. 柱状图中最大的矩形 难度困难1581 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . ...
- 怎样在Linux 环境 (红帽 rhel 7.3) 安装 Python 3
自己装的虚拟机(红帽 7),默认安装的python2.7,更新为python 3.8 自己做个记录,方便日后查看 注意:红帽的yum 需要注册才能使用,必须要替换yum,替换方法请参见:怎样替换 r ...
- hbase的架构
HBase中的存储包括HMaster.HRegionSever.HRegion.HLog.Store.MemStore.StoreFile.HFile等角色构成,具体如下HMaster的作用 1.为H ...
- 0基础读顶会论文—流程即服务(PraaS):通过无服务器流程统一弹性云和有状态云
Abstract 细粒度的无服务器函数为许多新应用提供了动力,这些应用受益于弹性扩展和按需付费计费模型,同时将基础设施管理开销降至最低.为了实现这些特性,函数即服务(FaaS)平台将计算和状态分离,P ...
- MinIO Linux 安装使用 & SpringBoot整合MinIO
目录 MinIO Linux 安装 单节点部署 创建 systemd 系统启动服务文件 创建环境变量文件 启动MinIO服务 连接到MinIO服务 SpringBoot项目整合MinIO 配置项 工具 ...
- VL4AD:让语义分割认识未知类别,无需额外数据和训练的OOD语义分割 | ECCV'24
来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: VL4AD: Vision-Language Models Improve Pixel-wise Anomaly Detection 论文地址 ...
- python之pyexecjs
pyexecjs是一个用Python来执行JavaScript代码的工具库,该库支持多种JavaScript运行时环境,如Node.js.PhantomJS.SlimerJS等,允许开发者在Pytho ...
- canvas(一)描边与填充
1.画布大小 canvas默认的大小是 300*150,通过操作width/height属性可以设置画布的大小,属性值只能是具体是像素值,而不能是百分比. <body> <div c ...
- 推荐7个最强Appium替代工具,移动App自动化测试必备!
在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节.Appium 作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知.然而,在不同的测试场景和需求下,还有许多其他优 ...