网页中的想关代码:
……
<?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);==================
请问该如何解决?还是对于对象类的网页元素要用别的方法调用其脚本?

解决方案 »

  1.   

    document.window.execscript 是什么呢,学习学习。
      

  2.   

    object o= webBrowser.Document.InvokeScript("setCellVaule", new object[] { 1 });string strScript ="";
    IHTMLWindow2 win = (IHTMLWindow2)webBrowser.Document.Window.DomWindow;
    win.execScript(strScript, "Javascript");
      

  3.   


    IHTMLWindow2   =mshtml.IHTMLWindow2
    为了使用IHTMLWindow2接口,必须的添加对非托管COM对象的托管包装,在项目引用里面选择COM选项卡,添加Microsoft HTML Object Library即可 
      

  4.   


    用了以下三种方法都不行
    //该对象不支持该属
    win.execScript(“daw.setCellValue(1)","javascript");
    //以下两句报:dawindow未定义或xdawindow未定义
    win.execScript(“dawindow.setCellValue(1)","javascript");
    win.execScript(“xdawindow.setCellValue(1)","javascript");我想如果能够得到这个对象在网页中的实例名,应该就没问题了,可以该如何得到这个实例名呢?
      

  5.   

    试试
    win.execScript(“document.getElementById('daw').setCellValue(1)","javascript"); 
      

  6.   

    这句不就是等于下面这句码
    document.GetElementById("daw").InvokeMember("setCellValue",new object[] {1});