今天在测试将MapBar的在线地图放在C# WinForm中的WebBrowser中运行时。可以。
然后想到如果可以获取或设置或执行页面中的JavaScript函数岂不是很爽。
于是找了下还真有。
如下二个示例:
分别执行一个设置信息的函数。
this.webBrowser1.Document.InvokeScript("setMsg", new object[] { DateTime.Now.ToString() });
一个获取信息的函数。
object data = this.webBrowser1.Document.InvokeScript("getMsg");
this.Text = data.ToString();
这样就可以在WinForm中嵌入Web页面来执行一些协同的操作。很不错的模式。
ASPX页面源码如下:
<head runat="server">
<title>tttt</title>
<style type="text/css">
body
{
margin:0;
padding:0;
}
</style>
<script type="text/javascript" src="http://union.mapbar.com/apis/maps/free?f=mapi&v=31.2&k=keycode"></script>
<script type="text/javascript">
var maplet = null;
function initMap(){
maplet = new Maplet("mapbar");
maplet.centerAndZoom(new MPoint(116.38672,39.90805), 8);
maplet.addControl(new MStandardControl());
}
</script>
<script type="text/javascript">
function setMsg(msg)
{
document.getElementById("tb01").value=msg;
}
function getMsg()
{
return document.getElementById("tb01").value;
}
</script>
</head>
<body >
<form id="form1" runat="server">
<div>
<asp:TextBox ID="tb01" runat="server" style="display:none;"></asp:TextBox>
</div>
<div id="mapbar" style="width:498px;height:298px"></div>
</form>
</body>
</html>
在C#中用WebBrowser控件,执行网页中的JavaScript脚本
|