Contrôle WebBrowser de chargement de la page d'erreur
J'ai contrôle WebBrowser sur mon winform. Lorsque j'essaie de naviguer sur le web site je reçois standard d'IE les pages d'erreur comme:
- "Navigation vers la page web annulée"
- "L'adresse n'est pas valide"
- "La Page ne pouvait pas être chargé"
- etc.
J'ai besoin de gérer ces erreurs et de retourner le message d'erreur personnalisé pour l'utilisateur. Est-il possible de résoudre ce problème?
OriginalL'auteur Akim Khalilov | 2010-11-19
Vous devez vous connecter pour publier un commentaire.
Vous souhaitez gérer le NavigateError événement comme le montre ici
Edit: y compris des exemples de code à partir du lien:
Si vous aussi gérer l'événement Naviguer, vous pouvez inspecter l'URL qui sera le nom de fichier et définissez la propriété Cancel de la WebBrowserNavigatingEventArgs true si c'est un fichier et non pas une page. Cela dépendra de pouvoir distinguer les téléchargements de fichiers de navigation normale, cependant.
Eh bien, j'ai pu vérifier la plupart des extensions de fichier dans mon code (dans le cas où si l'uri contient le nom du fichier). Mais il y a beaucoup d'exemples quand le serveur pouvait réponse avec un ruisseau, qui pourrait être détectée avec le navigateur comme des données binaires et ouvrir/enregistrer/annuler messagebox sera apper. Ai-je pu attraper cette messagebox avant de il sera de montrer à l'utilisateur?
Le contrôle de regarde le Content-Type et Content-Disposition des en-têtes lors de la décision d'initier un téléchargement: le BeforeNavigate2 méthode vous permet de regarder - voir msdn.microsoft.com/en-us/library/ms775148%28VS.85%29.aspx pour plus d'info
Quelques mots à propos de NavigateError. Je pourrais montrer un message, ou d'exécuter une autre logique de mon code. Mais comment je pourrais remplacer le message d'erreur standard à la page "Ce programme ne peut pas afficher la page web" à mon habitude? Peut-être que je ne peut plus le cacher l'un à l'utilisateur, mais comment?
OriginalL'auteur stuartd