你的位置:首页 > ASP.net教程

[ASP.net教程]WebBrowser如何获取提交的数据


WebBrowser 其实是对 ActiveX 控件 SHDocVw 的封装,而这个SHDocVw的很多底层调用WebBrowser控件并没有提供实现,你这个应用需要直接操作 SHDoceVw 控件才可以。操作方法如下:

1、在 windows/system32 目录下找到 shdocvw.dll 这个动态库,将其添加到引用中

2、在 Form1_Load 中添加如下语句

            SHDocVw.WebBrowser wb = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
            wb.BeforeNavigate2 += new DWebBrowserEvents2_BeforeNavigate2EventHandler(WebBrowser_BeforeNavigate2);
3、添加如下成员函数

private void WebBrowser_BeforeNavigate2(object pDisp, ref object URL, ref object Flags,
ref object TargetFrameName, ref object PostData, ref object Headers, ref bool Cancel)
{
string postDataText = System.Text.Encoding.ASCII.GetString(PostData as byte[]);
}

完成上述3步后,你post 数据时, 就会响应 BeforeNavigate2 事件,

postDataText 中就是你post的数据。

WebBrowser是IE内核做的VB控件。

SHDocVw是公共语言运行库。

Webbrowser.Navigate  连接到指定的 URL,并显示网页.相当于一个导航网页。