如何 return 从插件到 action/js 的值?

How to return a value from plugin to action/js?

我有一个调用触发插件的操作的按钮,我想从我的插件传递一个值并将其显示给用户(通过弹出窗口)。我在我的操作中定义了一个输出参数。 我如何 return 我在插件中检索到的值(输出参数)返回到我的 js 函数?

你所要做的就是在插件代码中分配输出参数并在JS调用代码中使用它。 Read more

我展示的是 Xrm.WebApi 方式,但您也可以使用 XMLHttpRequest 或 ajax。

插件分配 C# 代码:

context.OutputParameters["Output1"] = "blah blah";

自定义动作调用JS代码:

var parameters = {};
parameters.Input1 = 10;

var new_MyCustomActionReq = {
    Input1: parameters.Input1,
 
    getMetadata: function () {
        return {
            boundParameter: null,
            parameterTypes: {
                "Input1": {
                    "typeName": "Edm.Int32",
                    "structuralProperty": 1
                },
            },
            operationType: 0,
            operationName: "new_MyCustomAction"
        };
    }
};

Xrm.WebApi.online.execute(new_MyCustomActionReq).then(
    function success(result) {
        result.json().then(
            function (response) {
                var myOutput = response.Output1;
                alert(myOutput);
            }
        );
    }
    ,
    function (error) {
        Xrm.Utility.alertDialog(error.message);
    }
);