2010-03-31 25 views
2

我试图使用ResolveUrl()在自定义ASP.NET用户控件的代码背后设置一些路径。用户控件包含导航菜单。我在加载母版页的页面上加载它。ResolveURL无法在用户控件中解析

当我在我的用户控件中调用ResolveUrl(“〜”)时,它返回“〜”而不是站点的根。当我在页面中调用它时,我得到了预期的根路径。我已经介绍了调试器并确认,ResolveUrl(“〜”)在我的用户控制代码后面返回“〜”。

有没有其他方法我应该在我的用户控制代码中调用该函数以获取站点的根路径?

+1

你可以发布代码如何使用它? – wonde 2010-03-31 15:44:13

回答

3

上述wonde的评论使我的答案 -

我在控件的页面加载之前尝试使用ResolveUrl。因此,该功能尚无上下文页面。

我将我的代码移入页面加载函数,现在它按预期方式解决。

感谢您在正确的方向微调。

0

我想,如果它工作在页面上,但不是我想控制你可以尝试

this.Page.ResolveUrl("~"); 
+0

这可能是问题的一部分:控制页属性在运行时为空。 – 2010-03-31 15:47:21

+0

您是否在使用代码加载此控件? – BritishDeveloper 2010-03-31 15:59:06