网页中的想关代码:
……
<?import namespace=aa implementation="aa.htc">
<body>
<table>
<tr>
<!--<aa:dawindow, id = "daw">
……
</aa:dawindow>-->
<td>
</td>
</tr>
</table>
</body>
……
(在"aa.htc"中定义了一个方法 :setCellValue(value))
==aa.htc中的相关代码==
<PUBLIC:COMPONET tagName = "dawindow">
……
<PUBLIC:METHOD NAME = "setCellVaule"/>
……
</PUBLIC:COMPONET><SCRIPT LANGUAGE = "javascript">
function setCellVaule(value){
……
}
</SCRIPT><HTML aa>
……
<SCRIPT LANGUAGE="javascript">
CreateControlForDataSrc(document,"xdawindow");
</SCRIPT>
</html>我想用代码让网页自动执行该程序,尝试了以下两种方法都没成功。C#代码:==方法1==HtmlDocument doc = webBrowser1.Document;
Object[] oa = new Object[1];
oa[0] = (Object)"15";doc.InvokeScript("setCellVaule",oa);==方法2==HtmlDocument doc = webBrowser1.Document;
HtmlElement he = doc.GetElementById("daw");Object[] oa = new Object[1];
oa[0] = (Object)"15";he.InvokeMember("setCellVaule",oa);==================
请问该如何解决?还是对于对象类的网页元素要用别的方法调用其脚本?
……
<?import namespace=aa implementation="aa.htc">
<body>
<table>
<tr>
<!--<aa:dawindow, id = "daw">
……
</aa:dawindow>-->
<td>
</td>
</tr>
</table>
</body>
……
(在"aa.htc"中定义了一个方法 :setCellValue(value))
==aa.htc中的相关代码==
<PUBLIC:COMPONET tagName = "dawindow">
……
<PUBLIC:METHOD NAME = "setCellVaule"/>
……
</PUBLIC:COMPONET><SCRIPT LANGUAGE = "javascript">
function setCellVaule(value){
……
}
</SCRIPT><HTML aa>
……
<SCRIPT LANGUAGE="javascript">
CreateControlForDataSrc(document,"xdawindow");
</SCRIPT>
</html>我想用代码让网页自动执行该程序,尝试了以下两种方法都没成功。C#代码:==方法1==HtmlDocument doc = webBrowser1.Document;
Object[] oa = new Object[1];
oa[0] = (Object)"15";doc.InvokeScript("setCellVaule",oa);==方法2==HtmlDocument doc = webBrowser1.Document;
HtmlElement he = doc.GetElementById("daw");Object[] oa = new Object[1];
oa[0] = (Object)"15";he.InvokeMember("setCellVaule",oa);==================
请问该如何解决?还是对于对象类的网页元素要用别的方法调用其脚本?
IHTMLWindow2 win = (IHTMLWindow2)webBrowser.Document.Window.DomWindow;
win.execScript(strScript, "Javascript");
IHTMLWindow2 =mshtml.IHTMLWindow2
为了使用IHTMLWindow2接口,必须的添加对非托管COM对象的托管包装,在项目引用里面选择COM选项卡,添加Microsoft HTML Object Library即可
用了以下三种方法都不行
//该对象不支持该属
win.execScript(“daw.setCellValue(1)","javascript");
//以下两句报:dawindow未定义或xdawindow未定义
win.execScript(“dawindow.setCellValue(1)","javascript");
win.execScript(“xdawindow.setCellValue(1)","javascript");我想如果能够得到这个对象在网页中的实例名,应该就没问题了,可以该如何得到这个实例名呢?
win.execScript(“document.getElementById('daw').setCellValue(1)","javascript");
document.GetElementById("daw").InvokeMember("setCellValue",new object[] {1});