在javascript网络资源中使用'GetGlobalContext'

时间:2012-12-07 08:48:35

标签: javascript dynamics-crm-2011 dynamics-crm

我正在MS CRM功能区中创建一个自定义按钮,在一个实体中创建一个记录,(我正在使用odata),这个按钮是一个JavaScript函数,它使用'GetGlobalContext'方法来获取上下文,我正面临着以下问题:

属性'GetGlobalContext'的值为null或未定义

这是我的示例代码:

//Parameters
var ODataPath;
var serverUrl;

//add the below script to the page DOM 
var imported = document.createElement('script');
imported.src = 'ClientGlobalContext.js.aspx';
document.getElementsByTagName('head')[0].appendChild(imported);


//On COnvert to case click
function OnConvertClick(message) {

    alert(Xrm.Page.getAttribute(message).getValue());
    var data = {
        subject: Xrm.Page.getAttribute(message).getValue()
    };

    CreateCaseOffer("incident", data);
}



//create case from an activity
function CreateCaseOffer(EntityName, data) {

    var context = GetGlobalContext(); //GetGlobalContext function exists in ClientGlobalContext.js.aspx
    serverUrl = location.protocol + "//" + location.hostname + ":" + location.port + "/" + context.getOrgUniqueName();
    ODataPath = serverUrl + "/XRMServices/2011/OrganizationData.svc";

    var jsonCaseOffers = window.JSON.stringify(data);
    if (jsonCaseOffers != null) {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            datatype: "json",
            url: ODataPath + "/" + EntityName + "Set",
            data: jsonCaseOffers,
            beforeSend: function (XMLHttpRequest) {
                XMLHttpRequest.setRequestHeader("Accept", "application/json");
            },
            success: function (data, textStatus, XmlHttpRequest) {
                $.each(data, function (k, v) {
                    alert(k + " - " + v);
                });
            },
            error: function (XmlHttpRequest, textStatus, errorThrown) {
            }
        });
    }
}

任何建议??

1 个答案:

答案 0 :(得分:3)

现在使用var

可以正常工作
var context = Xrm.Page.context;

而不是

var context = GetGlobalContext();