在WebBrowser控件中将字符串数组从JS传递到C#

Ser*_*jev 7 c# com interop winforms

我正在使用ObjectForScripting属性与WebBrowser控件内的网页进行交互,一切正常,但我无法弄清楚如何将字符串数组传递回C#

HTML代码

<input type="submit" onclick="window.external.save(Array('test', 'test2'))" />
Run Code Online (Sandbox Code Playgroud)

形成

// Returns System.__ComObject
public void Save(object parameters)
{
}

// Throws an exception
public void Save(object[] parameters)
{
}

// Also throws an exception
public void Save(string[] parameters)
{
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 2

而不是与之抗争;也许从另一个角度解决这个问题......你可以(相反,任一):

  • (使用 ) 分隔数据Array.join并传递单个字符串,然后string.Split在 C# 中将其拆分 ( )
  • 多次调用 Save,每次接受一个字符串 ( Save(string s)),然后调用最终方法来实际提交更改