Mon contrôle serveur requiert des propriétés à définir par le balisage comme ceci:Comment lancer une exception HttpParseException à partir de mon contrôle serveur personnalisé lorsqu'une propriété requise est manquante?
<cc:MyControl runat="server" Property="Required" />
Lorsqu'un développeur oublie d'ajouter la propriété, je jette une exception. Cela se produit dans le getter de la propriété publique:
public string Property
{
get { return GetRequiredPropertyFromViewState["Property"]; }
set { ViewState["Property"] = value; }
}
Dans le YSOD je reçois une erreur de source et trace de la pile. La source affichée est celle de ma classe de contrôle personnalisé:
Line 173: throw new ArgumentException(message);
Je voudrais afficher le balisage du contrôle que l'erreur source. Est-ce possible? Je sais seulement que l'analyseur de page WebForms montrera parfois des erreurs d'analyse avec le balisage dans l'erreur de source. Mais ce ne sont pas vraiment des exceptions.
Modifier: J'avais tort. Des erreurs d'analyse peuvent être levées en utilisant HttpParseException. Mais vous avez spécifié le fichier, le code source et le numéro de ligne. Je ne sais pas si je peux fournir ceux de mon contrôle personnalisé. J'ai besoin ces trois, dont je ne sais pas comment les deux derniers:
- virtualPath: Je peux obtenir de Page.Request.AppRelativeCurrentExecutionFilePath
- source:
- ligne: