E 'necessario chiamare ResolveUrl () prima LoadControl ()?
-
19-09-2019 - |
Domanda
E 'necessario chiamare TemplateControl.ResolveUrl()
prima di passarlo a TemplateControl.LoadControl()
?
Da che parte è preferito?
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");
o forse ResolveClientUrl()
?
Soluzione
Non è richiesto. Non vorrei anche consigliare di fare il primo metodo, dal momento che è solo ridondante e aggiunge complessità. La tilde significa che è relativo alla radice applicazione già - ResolveUrl
cambia solo che sia relativa alla pagina o UserControl si sta chiamando da. In entrambi i casi, sarà ancora essere caricato.
Il secondo modo sarebbe preferito come best practice per aiutare la guardia contro i cambiamenti strutturali relativi al progetto.
Ancora meglio sarebbe per rendere la stringa di percorso di una risorsa o almeno una costante per sbarazzarsi di stringhe di magia e di evitare sorprese del tutto.