0

HTML 脚本标签包含函数

  <script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>

我需要从 C# 执行 javascript。我的代码:

var webbrowser = new WebBrowser();
        var uri = new Uri(param.FinalUrl);
        webbrowser.Navigate(uri);
        while (webbrowser.ReadyState != WebBrowserReadyState.Complete)
        {
            Application.DoEvents();
            Thread.Sleep(100);
        }
var args = new object[] { "ctl00$cphBody$gvTradeList", "Page$3" };
var result = webbrowser.Document.InvokeScript("__doPostBack", args);

但是 InvokeScript 总是返回 null 并且 DocumentText 不会改变。问题可能是由 CDATA 标签中的注释引起的吗?如果是这个原因,在这种情况下如何执行javascript?

4

0 回答 0