在传递给TemplateControl.LoadControl()之前是否需要调用TemplateControl.ResolveUrl()
哪种方式是首选的?
LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");或者是ResolveClientUrl()?
发布于 2009-08-21 23:47:54
这不是必需的。我甚至不推荐使用第一种方法,因为它是多余的,而且增加了复杂性。波浪号意味着它已经是相对于应用程序根目录的-- ResolveUrl只是将其更改为相对于调用它的页面或用户控件。无论哪种方式,它仍将被加载。
第二种方式将是一种最佳实践,有助于防止对项目进行相对的结构更改。
更好的做法是使路径字符串成为一种资源,或者至少是一个常量,以摆脱魔法字符串并完全避免意外。
https://stackoverflow.com/questions/1314392
复制相似问题