我在WPF中使用WebBrowser:
<WebBrowser
Name="SSSBrowser"
Margin="8,4,8,8"
Grid.Row="1"
dp:WebBrowserUtility.BindableSource="{Binding WebAddress}"/>
在C#中我只是简单地加载它,就像这样:
private string _webAddress;
public string WebAddress
{
get { return "http://www.somewebsite.com/updates/message/message.htm"; }
set { _webAddress = value; }
}
我想做的是阻止它因无论出于何种原因无法访问网页而显示错误。
如何判断网站是否在代码中返回错误并禁用WebBrowser,以便它不会在屏幕上向用户显示错误?
非常感谢任何帮助!
答案 0 :(得分:1)
不确定通过WPF,但如果您使用HttpWebRequest和HttpWebResponse以编程方式尝试首先获取您的网址,则响应将为您提供http StatusCode,即200,404等。如果您愿意,可能会有用首先检查200并抢先禁用浏览器。不完全是你的问题的答案,但有可能。
答案 1 :(得分:0)
WPF WebBrowser对象似乎没有ErrorOpeningURL
事件,因此,根据以前的经验,您可以连接到Navigated事件并检查URI是否为IE错误页面(res://Error.html .. IIRC)或深入NavigationEventArgs
WebResponse
并检查标题。
要抑制错误,请隐藏WebBrowser组件,可能是通过覆盖礼貌消息 - 您的用户将希望知道操作未成功,但不必查看导航失败。
答案 2 :(得分:0)
答案 3 :(得分:0)
您可以尝试使用此NavigationService
中指示的System.Windows.Controls.Frame
中的MSDN forum post。对于WPF中的WebResponse
控件,WebBrowser
始终为空(,如帖子中所述)。