javascript - 使用 ClearScript 将变量传递给 Javascript

标签 javascript clearscript

我想在 C# 中运行 Javascript 并在 C# 和 Javascript 之间传递变量。

ClearScript 似乎是目前执行此操作的稳定方式。

我有一个看起来像这样的 JavaScript 函数:

var b = a[0];
var c = a[1];
var d = a[2];
var e = a[3];
rtnstr = "{errmsg: 'calculation never ran'}";

calculation()

function calculation() {
   rtnstr = "{ one:'" + a+b "', " two:'" + c+d + "'}";
}

我如何在传递 a 数组并取回 rtnstr 字符串的 ClearScript 中调用它。

我找到了这个网址:https://clearscript.codeplex.com ,它显示了如何检索整数数组;我需要它来检索一个字符串。

我还需要知道如何传入变量;该示例并未显示这一点。

最佳答案

我不知道你是否还需要这个,但我偶然发现了你的问题并试了一下。

首先将一个 JS 文件添加到您的解决方案中:

Add a javascript file to your solution.

然后将您的 javascript 添加到 javascript 文件中:

var myArray = [0,1,2,3];
var a = myArray[0];
var b = myArray[1];
var c = myArray[2];
var d = myArray[3];
var rtnstr = "{errmsg: 'calculation never ran'}";

function calculation() {
   var one = a + b;
   var two = c + d;
   rtnstr = "{ one:'" + one  + "', two:'" + two + "'}";
   return rtnstr;
}

然后在您的 C# 代码中执行如下操作:

using System;
using System.IO;
using Microsoft.ClearScript.V8;

namespace ClearScriptConsole
{
    class Program
    {
        static void Main(string[] args) {

            V8ScriptEngine _v8Engine = new V8ScriptEngine(V8ScriptEngineFlags.EnableDebugging);

            string jsFilePath = @"..\..\HelloWorld.js";
            string jsContents = File.ReadAllText(jsFilePath);

            _v8Engine.Execute(jsContents);

            var returnedVal = _v8Engine.Script.calculation();
            Console.WriteLine(returnedVal);
        }
    }
}

返回值给了我以下信息:

The result of the calculation displayed in a console window.

干杯

关于javascript - 使用 ClearScript 将变量传递给 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35906689/

相关文章:

javascript - 如何从嵌套对象调用函数?

asp.net - 在 Windows Azure 专用网站上安装软件

javascript - 如何使用 Clearscript 将 CLR 类型的 native JS 数组转换为 CLR 数组

ClearScript:如何输出对象?

javascript - 引用错误:XMLHttpRequest is not defined while using ClearScript(V8ScriptEngine)

javascript - Select2 添加了一个我无法删除的空范围

javascript - 当用户关闭 React 应用程序窗口时,如何清除本地存储?

javascript - 绝对 div 上的 css 过渡宽度和高度到 0 不起作用

javascript - 在多次回发中保留 JQuery 变量值

c# - 如何更新 ClearScript 中的字典条目?