我的CRM 2015在线上有一个silverlight网络资源,我使用javascript webresource打开。此Web资源通过Opportunity实体的功能区按钮进行。我需要将当前打开的机会传递给silverlight Web资源。我设法获得了OpportunityId但仍然无法将其传递给Silverlight网络资源。
我的javascript网络资源代码:
function OpenSilverLightControl()
{
var Id=Xrm.Page.data.entity.getId();
window.open('https://crm.mycrm.com//WebResources/new_/MyCRMQuoteTestPage.html',null,500,600);
}
编辑:
我尝试使用QueryString,但它会产生内部服务器错误。
这是我的链接:https://crm.mycrm.com//WebResources/new_/mycrmOpportunityQuoteTestPage.html?oppid= {7A594863-1C1F-E511-80C8-02E7484A2B2F}
两者都提供" 500 - 内部服务器错误"
答案 0 :(得分:1)
这通常使用查询字符串变量
来完成function OpenSilverLightControl(){
var Id=Xrm.Page.data.entity.getId();
var url = 'https://crm.mycrm.com//WebResources/new_/MyCRMQuoteTestPage.html?elementid=' + Id;
window.open(url,null,500,600);
}
然后在Silverlight应用程序中,您可以读取查询字符串值
答案 1 :(得分:1)
将其添加为查询字符串并在Silverlight webresponse中解析它?
你可以这样做:
window.open('https://crm.mycrm.com//WebResources/new_/MyCRMQuoteTestPage.html?id='+id'
在您的Silverlight资源中:
function getQueryString (name) {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars[strName];
}
并调用函数:getQueryString("id");
答案 2 :(得分:1)
来自{349 {3}}问题的user3491963答案
以及当前问题中的jasonscript和Unlockedluca答案,
我能够使用 Querystring参数但它必须使用名称&#34; 数据&#34;任何其他名字都不会起作用。