C#中使用webbroser控件

CCppMfc 2009-12-21 02:01:29

在webbrowser控件的脚本使用javascript编写.

在javascript脚本中, 想调用C#里的方法,

当这个方法返回 int, string等类型的时候都是成功的,

但是一旦返回一个结构就失败.

to 高手:
1. 通过javascript调用C#的方法, 能否返回一个结构体?
2. 如何返回这个结构体?
3. 为什么会失败呢?

多谢各位.
...全文
303 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
CCppMfc 2009-12-24
  • 打赏
  • 举报
回复
看来直接传个结构是不行的了.
wuyq11 2009-12-21
  • 打赏
  • 举报
回复
通过json字符串实现数据传递
castlooo 2009-12-21
  • 打赏
  • 举报
回复
js 返回一个json 字符串,C#解析json字符串。
json 可以表示复杂的数据结构,利器
a782029221 2009-12-21
  • 打赏
  • 举报
回复
hao

卧_槽 2009-12-21
  • 打赏
  • 举报
回复
返回一个string的Xml文档呗
啥都解决了。
wartim 2009-12-21
  • 打赏
  • 举报
回复
字符串比多个方法省事
wartim 2009-12-21
  • 打赏
  • 举报
回复
本来就是么,你以为什么都能传啊,js又不是ms生的
shiqilong 2009-12-21
  • 打赏
  • 举报
回复
失败具体是指什么?
APP开发王 2009-12-21
  • 打赏
  • 举报
回复
window.external.C#函数
可调用C#里的方法
web.ObjectForScripting = this;
CCppMfc 2009-12-21
  • 打赏
  • 举报
回复


组装还不如多整几个方法一个元素一个元素的传.
wartim 2009-12-21
  • 打赏
  • 举报
回复
组装成字符串再返回啊


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime .InteropServices ;

namespace WindowsApplication246
{
[ComVisible (true )]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

WebBrowser WB = new WebBrowser();
WB.Parent = this;
WB.Dock = DockStyle.Fill;
WB.DocumentText = "<input type='button' value='!!!!!' onclick='alert(window.external.X)'/>";

WB.ObjectForScripting = this;
}

public struct S
{
public int A;
public String B;
}

public String X()
{
S s = new S();
s.A = 1;
s.B = "ZZZ";

return s.A.ToString() + ";" + s.B;
}
}
}
特别 2009-12-21
  • 打赏
  • 举报
回复 1
还真没用过返回结构的,帮你顶

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧