【问题标题】:Is it required to call ResolveUrl() before LoadControl()?是否需要在 LoadControl() 之前调用 ResolveUrl()?
【发布时间】:2009-08-21 21:55:08
【问题描述】:

在传递给TemplateControl.LoadControl()之前是否需要调用TemplateControl.ResolveUrl()

首选哪种方式?

LoadControl(ResolveUrl("~/MyControl.ascx"));
LoadControl("~/MyControl.ascx");
LoadControl("MyControl.ascx");

或者ResolveClientUrl()

【问题讨论】:

    标签: .net asp.net loadcontrol resolveurl resolveclienturl


    【解决方案1】:

    这不是必需的。我什至不建议使用第一种方法,因为它只是多余的并且增加了复杂性。波浪号表示它已经相对于应用程序根目录 - ResolveUrl 只是将其更改为相对于您从中调用它的页面或用户控件。不管怎样,它仍然会被加载。

    第二种方法是一种最佳做法,可以帮助防止项目发生相关结构变化。

    更好的办法是让路径字符串成为资源或至少是常量,以摆脱魔术字符串并完全避免意外。

    【讨论】:

      猜你喜欢
      • 2015-09-12
      • 2011-03-08
      • 1970-01-01
      • 2014-11-27
      • 2011-02-26
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多