É necessário chamar ResolveUrl () antes LoadControl ()?
-
19-09-2019 - |
Pergunta
É necessário para TemplateControl.ResolveUrl()
chamada antes de passá-la para TemplateControl.LoadControl()
?
Qual é o preferido caminho?
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");
ou talvez ResolveClientUrl()
?
Solução
Não é necessário. Eu nem recomendo fazer o primeiro método, uma vez que é apenas redundante e adiciona complexidade. Os meios de til é em relação ao já a raiz do aplicativo - ResolveUrl
só muda que seja em relação à página ou UserControl que você está chamando-lo partir. De qualquer forma, ele ainda será carregado.
A segunda maneira seria preferível como uma melhor prática para ajudar a proteger contra mudanças estruturais relativos ao seu projeto.
Ainda melhor seria para fazer a cadeia de caminho um recurso ou, pelo menos, uma constante para se livrar das cordas mágicas e evitar surpresas completamente.