我正在尝试使用ResolveUrl()在自定义ASP.NET用户控件后面的代码中设置一些路径。用户控件包含导航菜单。我正在将它加载到一个正在加载母版页的页面上。
当我在用户控件中调用ResolveUrl( "~“)时,它返回”~“而不是站点的根目录。当我在页面中调用它时,我得到了预期的根路径。我已经使用了调试器并确认,ResolveUrl( "~“)在后面的用户控件代码中返回”~“。
有没有其他方法我应该在后面的用户控件代码中调用该函数来获取站点的根路径?
发布于 2010-04-01 00:03:50
wonde上面的评论让我找到了答案--
在控件的页面加载触发之前,我正在尝试使用ResolveUrl。因此,目前还没有该函数的上下文页面。
我将代码移动到页面加载函数中,现在它可以像预期的那样解析。
感谢您在正确方向上的推动。
发布于 2010-03-31 23:23:50
看看System.Web.VirtualPathUtility.ToAbsolute吧。
发布于 2010-03-31 23:25:21
看一下这个MSDN示例。http://msdn.microsoft.com/en-us/library/system.web.ui.control.resolveurl.aspx。和Rick Strahl的网络日志http://www.west-wind.com/Weblog/posts/154812.aspx
https://stackoverflow.com/questions/2554177
复制相似问题