[英]ASP.Net: Using System.Web.UI.Control.ResolveUrl() in a shared/static function
[英]ResolveURL not resolving in a user control
我试图使用ResolveUrl()在自定义ASP.NET用户控件后面的代码中设置一些路径。 用户控件包含一个导航菜单。 我正在将其加载到正在加载母版页的页面上。
当我在用户控件中调用ResolveUrl(“〜”)时,它将返回“〜”而不是站点的根目录。 当我在页面中调用它时,将得到预期的根路径。 我已逐步调试,并确认,ResolveUrl(“〜”)在后面的用户控制代码中返回“〜”。
我还有其他方法可以在后面的用户控制代码中调用该函数以获取网站的根路径吗?
上面的翁德(Wonde)评论使我得到了答案-
在尝试触发控件的页面加载之前,我试图使用ResolveUrl。 因此,该功能还没有上下文页面。
我将代码移到页面加载函数中,现在可以按预期进行解析。
感谢您朝着正确的方向前进。
看一下这个MSDN示例。 http://msdn.microsoft.com/zh-CN/library/system.web.ui.control.resolveurl.aspx 。 和Rick Strahl的网络日志http://www.west-wind.com/Weblog/posts/154812.aspx
我想如果它能在页面上正常运行,但不能在控件上运行,我想您可以尝试
this.Page.ResolveUrl("~");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.