C#中 webbrowser 控件提交表单后怎么在原位置打开新的网页
privatevoidbtnOk_Click(objectsender,EventArgse){wbForm.Document.GetElementById("text"...
private void btnOk_Click(object sender, EventArgs e)
{
wbForm.Document.GetElementById("text").InnerText = this.txtName.Text;
this.wbForm.Document.Forms["searchform"].InvokeMember("submit");
}
这是一个按钮的方法 表单提交了 但是是用一个新的ie浏览器打开的
怎么办才能让提交后返回的网页在原webbrowser中打开呢 展开
{
wbForm.Document.GetElementById("text").InnerText = this.txtName.Text;
this.wbForm.Document.Forms["searchform"].InvokeMember("submit");
}
这是一个按钮的方法 表单提交了 但是是用一个新的ie浏览器打开的
怎么办才能让提交后返回的网页在原webbrowser中打开呢 展开
3个回答
展开全部
那你得先看网页是怎么处理submit的,一般有两种思路,A,开新窗口webbrowse会触发NewWindow事件,你只要在这事件的处理代码中加入
e.Cancel=true;
string url = this.wB_MainBrowser.Document.ActiveElement.GetAttribute("href");
this.wB_MainBrowser.Url = new Uri(url);
或者可以用个递归把链接的target属性修改为_self.
下面代码可能对你有用
foreach (HtmlElement form in this.webBrowser1.Document.Forms)
{
form.SetAttribute("target", "_self");
}
e.Cancel=true;
string url = this.wB_MainBrowser.Document.ActiveElement.GetAttribute("href");
this.wB_MainBrowser.Url = new Uri(url);
或者可以用个递归把链接的target属性修改为_self.
下面代码可能对你有用
foreach (HtmlElement form in this.webBrowser1.Document.Forms)
{
form.SetAttribute("target", "_self");
}
参考资料: [原创]C# WebBrowser强制使新窗口网页只在WebBrowser打开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询