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也给我们提供了新的包,低版本可以显示一样的效果.我们在使用的导入 ...
随机推荐
- 一份阅读量30万+免费且全面的C#/.NET面试宝典
前言 C#/.NET/.NET Core相关技术常见面试题汇总,不仅仅为了面试而学习,更多的是查漏补缺.扩充知识面和大家共同学习进步.该知识库主要由自己平时学习实践总结.网上优秀文章资料收集(这一部分 ...
- SSAS部署失败方法总结
最近在自学SSAS,从最简单的入手,却频频遇到问题,为了以后在学习过程中能更快的进行问题的定位,所以在此将遇到的问题以及解决方案进行记录 Q1:数据源"Adventure Works DW2 ...
- 基于微服务SDK框架与JavaAgent技术,低成本助力应用高效发布
本文分享自<华为云DTSE>第五期开源专刊,作者:聂子雄 华为云高级工程师.李来 华为云高级工程师. 微服务是一种用于构建应用的架构方案,可使应用的各个部分既能独立工作,又能协同配合,微服 ...
- WPS Excel中配置下拉多选(VBA)
网上找到两种方案,一种利用数据选择其他单元格,也就是在其他单元格建数据.需求是模板,不合适 这里我用的VBA,踩了挺多坑,详细说下 首先更新WPS为最新版,确保可用VBA和JSA 确定使用VBA还是J ...
- ubuntu环境安装街机风格的太空飞船游戏(2D飞机射击游戏)游戏——Chromium_B.S.U.
相关: https://en.wikipedia.org/wiki/Chromium_B.S.U. https://manpages.ubuntu.com/manpages/focal/en/man6 ...
- 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现三
一.前言介绍: 1.1 项目摘要 随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势.传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速.便捷需求.这些问题不 ...
- Abp源码分析之虚拟文件系统Volo.Abp.VirtualFileSystem
前言 Volo.Abp.VirtualFileSystem 是ABP(ASP.NET Boilerplate)框架中的一个重要组件,它提供了一种抽象文件系统的方式,使得应用程序可以轻松地访问和管理文件 ...
- Socket编程与IO多路复用
0.引言 本篇博客将从socket模型为起点,引入IO多路复用的学习. 1.Socket模型 1.1.Socket的诞生 Socket的诞生背景: Socket最早出现在20实际80年代的Unix操作 ...
- AbstractQueuedSynchronizer源码解析之ReentrantLock(二)
上篇文章分析了ReentrantLock的lock,tryLock,unlock方法,继续分析剩下的方法,首先开始lockInterruptibly,先看其API说明:lockInterruptibl ...
- java——棋牌类游戏斗地主(webddz1.0)之二
package com.ddz; import java.io.ObjectInputStream; import java.net.DatagramSocket; /**************** ...