直接上代码
JavaScript
复制代码
function OnClickShopProcurementProposerDataImport() {
var parameters = {};//这个是传入的信息,传递到所打开的html页面中
parameters.id = Xrm.Page.data.entity.getId().replace('{', '').replace('}', '')
var DialogOptions = new Xrm.DialogOptions;
DialogOptions.height = 200;
DialogOptions.width = Xrm.Page.context.client.getClient() === "Mobile" ? 300 : 800;
Xrm.Internal.openDialog("/WebResources/mcs_ShopProcurementProposerDataImport.html", DialogOptions, parameters, null, function (data) {
Xrm.Page.getControl("spmdsppurchaseorder").refresh();//刷新子网格
});
}
Xrm.Internal.openDialog()第一个参数是打开的页面地址,页面的大小,第三个是传入的参数,第四个是页面开始之前的
回调函数,第五个是页面打开后结束的回调函数(手动执行)返回一个参数执行回调函数的代码!
html页面
HTML
复制代码
<!DOCTYPE html>
<!-- 厅店采购申请明细行信息数据导入(ShopProcurementProposerDataImport.html) -->
<html>
<head>
<meta charset="utf-8" />
<title></title>
//这个就是用来接收前面js传递的信息的一个js文件,只有在dynamic中才有效果
,但是也找不到这个文件主要是用于接收上面传递的信息的!
<script src="/WebResources/ClientGlobalContext.js.aspx"></script>
</head>
<body>
<div id="page">
<p>其他都不是重点!就看ajax就行了!</p>
<script>
//获取传递信息
var DialogArguments = window.getDialogArguments();
if (!DialogArguments) {
return;
}
var condition = DialogArguments.id;//获取数据
$.ajax({
url: "/api/data/v8.2/mcs_ShopProcurementProposerDataImport",
data: JSON.stringify(entity),
type: "POST",
async: false,
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (data) {
alert(data.PromptMessage);
console.log(data);
//ajax执行成功后返回一个结果,执行回调函数的代码
Mscrm.Utilities.setReturnValue(data);
closeWindow(true)//关闭当前页面
},
error: function (data) {
alert(data.PromptMessage);
console.log(data);
}
});
}
reader.readAsBinaryString(file);