Ist es erforderlich, ResolveUrl () vor Loadcontrol () anrufen?
-
19-09-2019 - |
Frage
Ist es erforderlich TemplateControl.ResolveUrl()
aufrufen, bevor es TemplateControl.LoadControl()
vorbei?
Welche Art und Weise bevorzugt?
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");
oder vielleicht ResolveClientUrl()
?
Lösung
Es ist nicht erforderlich. Ich würde die erste Methode tun nicht einmal empfehlen, da es nur überflüssig ist und erhöht die Komplexität. Die Tilde bedeutet es bereits auf die Anwendung Wurzel relativ ist - ResolveUrl
nur ändert es auf die Seite relativ zu sein oder Usercontrol Sie es aus sind anrufen. So oder so, es wird noch geladen werden.
Der zweite Weg wäre als beste Praxis bevorzugt werden guard gegen eine relative strukturelle Änderungen an Ihrem Projekt zu helfen.
Noch besser wäre es, den Pfad String eine Ressource zu machen oder zumindest eine Konstante der magischen Saiten loszuwerden und Überraschungen ganz zu vermeiden.