1

我有带有网络浏览器组件的表单,有一个触发页面重新加载的按钮,这里是代码:

kiekmiestu = comboBox1.Text;
string nuoroda = "http://centrosokoladine.lt/PHP/generatorius.php?m=" + kiekmiestu;
webBrowser1.Navigate(nuoroda);

假设 kiemiestu 得到 teks 4,因此 php 生成器在每次页面刷新时在地图的随机位置生成 4 个城市,我的问题是,当我第二次单击按钮时,WebBrowser1 似乎没有第二次导航,因为页面没有改变。也许是缓存问题,如果 WebBrowser 已经显示,它不会导航到同一页面?

4

2 回答 2

5

您可以尝试webbrowser.refresh() MSDN

private void refreshButton_Click(object sender, EventArgs e)
{
    // Skip refresh if about:blank is loaded to avoid removing
    // content specified by the DocumentText property.
    if (!webBrowser1.Url.Equals("about:blank"))
    {
        webBrowser1.Refresh();
    }
}

更多关于 webbrowser.Refresh() 以及为什么导航不起作用:

WebBrowser 控件将来自最近访问的站点的网页存储在本地硬盘上的缓存中。每个页面都可以指定一个过期日期,指示它将在缓存中保留多长时间。当控件导航到页面时,它通过显示缓存版本(如果可用)而不是再次下载页面来节省时间。Refresh 方法强制 WebBrowser 控件通过下载来重新加载当前页面,确保控件显示最新版本。

要清除 wbbrowser 控件缓存,请考虑这篇文章:http: //support.microsoft.com/kb/326201/de

于 2012-05-02T07:22:51.247 回答
2

尝试使用

webBrowser1.Refresh();
于 2012-05-02T07:24:18.203 回答