阿航董 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();

    评论

报告相同问题?

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100