2012-05-24 45 views
0

我已经看了几个不同的文章和他们都似乎表明同一件事:CRM 2011:将值传递给IFRAME /网络资源使用javascript

“创建所需的查询参数和设置网址这一新的URL的目标IFRAME和这个新页面读取请求”

我想知道是否有这样做不使用自定义的ASPX页面的一种方式?

基本上我想在任何一个iFrame或基于表单的一些价值观HTML网络资源动态地显示一些文本。

+0

'window.onload = function(){alert(location.search); “为你工作? – mplungjan

+0

可以设置iframe网址,并在窗体加载后调用javascript函数,喜欢的东西: VAR用户id = crmForm.all.new_id.value; var detailsIframe = crmForm.all.IFRAME_contactdetails; detailsIframe.src = detailsIframe.src +'?Id ='+ userID; – lazarus

+2

crmForm ...符号在CRM弃用2011 –

回答

4

没有什么在强制要求使用ASPX的SDK。事实上,在CRM 2011中,因为你需要找一些东西来托管你的ASP.Net页面,所以它是不鼓励的。

有了基本的HTML页面(如CRM Web资源创建),你可以在HTML文档的HEAD声明一些的JScript(或者更好的是,引用JScript的网络资源)。 JScript可以读取通过iFrame发送的查询字符串参数,并根据需要执行任何操作。

Note that the SDK states任何自定义查询字符串参数必须自己编码并通过data参数发送。

<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>Example page</TITLE> 
<META charset=utf-8></HEAD> 
<BODY style="BACKGROUND-COLOR: #f6f8fa; MARGIN: 0px; FONT-FAMILY: Segoe UI" contentEditable=true onload="doStuff"> 
<SCRIPT type=text/jscript> 

function doStuff(){ 
    getQueryStrings(); 
    alertOrganisationName(); 
} 

function alertOrganisationName(){ 
    alert(window.parent.Xrm.Page.context.getOrgUniqueName()); 
} 

function getQueryStrings() { 
    var message = document.getElementById("myOutputArea"); 
    var dataParameterString, querystring; 
    // get data from querystring 
    if (window.location.search != "") { 
     querystring = window.location.search.substr(1).split("&"); 
     for (var i in querystring) { 
      querystring[i] = querystring[i].replace(/\+/g, " ").split("="); 
     } 
     //look for the parameter named 'data' 
     for (var i in querystring) { 
      if (querystring[i][0].toLowerCase() == "data") { 
       dataParameterString = querystring[i][1]; 
       break; 
      } 
     } 

     message.innerText += dataParameterString; 

    } else { 
     message.innerText = "No details were specified in the querystring."; 
     alert("ERROR: " + message.innerText); 
    } 
}  
</SCRIPT> 
<DIV id="myOutputArea"></DIV> 
</BODY></HTML> 
+0

其实不用我已经把该样本一起 - 上述SDK页面的例子是一样的好,还包括部署说明,如果你不知道你在使用Web做什么资源... –