阿航董 2014-08-14 06:15 采纳率: 0%
浏览 2323

asp.net使用WebBrowser,DocumentCompleted重载sender参数为null

public partial class WebForm1 : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string url = "网站地址";
            WebBrowser wb = new WebBrowser();
            wb.Url = new Uri(url);
            wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);//添加document加载完毕委托事件
        }
    }

    void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        HtmlDocument doc = ((WebBrowser)sender).Document;//进入事件后,sender的document属性为null,为什么会为null?
        ((WebBrowser)sender).Dispose();
    }
}

我就是想在asp.net里面通过winfrom中强大的webbrowser来获取html的DOM对象。但是经过测试,在进入委托事件之前,webbrowser已经有了document属性值了,但是ReadyState属性还是loading,当页面加载完毕后Complete,执行委托时间后,document的属性值却变成null了,为什么?

  • 写回答

1条回答

  • 汉得撒姆 2015-09-16 05:54
    关注
    WebBrowser wb = new WebBrowser(); 就应该出错了
        /”应用程序中的服务器错误。
    

    当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。

    说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Threading.ThreadStateException: 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”。

    源错误:

    行 16: {
    行 17: string url = "网站地址";
    行 18: WebBrowser wb = new WebBrowser();

    评论

报告相同问题?

悬赏问题

  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常