¿Se requiere llamar ResolveUrl () antes de LoadControl ()?
-
19-09-2019 - |
Pregunta
¿Es necesario llamar TemplateControl.ResolveUrl()
antes de pasarla a TemplateControl.LoadControl()
?
Es preferible Qué camino?
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");
o tal vez ResolveClientUrl()
?
Solución
No es necesario. Ni siquiera recomendaría hacer el primer método, ya que es sólo redundante y añade complejidad. La tilde significa que es relativa a la raíz de la aplicación ya - ResolveUrl
sólo cambia que sea en relación con la página o control de usuario que está llamando desde. De cualquier manera, todavía se cargará.
La segunda forma sería preferido como una buena práctica para ayudar a protegerse contra los cambios estructurales relativos a su proyecto.
Aún mejor sería hacer la cadena de ruta de un recurso o, al menos, una constante para deshacerse de las cadenas mágicas y evitar sorpresas por completo.