Est-il nécessaire d'appeler ResolveUrl () avant LoadControl ()?
-
19-09-2019 - |
Question
est-il nécessaire d'appeler TemplateControl.ResolveUrl()
avant de passer à TemplateControl.LoadControl()
?
Quelle manière est préférée?
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");
ou ResolveClientUrl()
peut-être?
La solution
Il est pas nécessaire. Je recommande même pas faire la première méthode, car il est juste redondant et ajoute à la complexité. Le tilde signifie qu'il est par rapport à la racine de l'application déjà - ResolveUrl
il change juste pour être par rapport à la page ou UserControl vous l'appelez de. De toute façon, il sera encore chargé.
La deuxième façon serait préférable comme une meilleure pratique pour aider à se prémunir contre les changements structurels relatifs à votre projet.
Encore mieux serait de faire la chaîne de chemin d'une ressource ou d'au moins une constante pour se débarrasser des chaînes magiques et éviter des surprises tout à fait.