C# 相对URL在System.Web.UI.UserControl中不起作用
上面的代码工作正常,当添加到页面时,将成功识别tilde/~符号并将url转换为相对url 但是,当我将类的派生更改为C# 相对URL在System.Web.UI.UserControl中不起作用,c#,asp.net,resolve,C#,Asp.net,Resolve,上面的代码工作正常,当添加到页面时,将成功识别tilde/~符号并将url转换为相对url 但是,当我将类的派生更改为System.Web.UI.WebControl时,它完全不做任何事情,并且保持tilde/~不变 我查看了System.Web.UI.Control,它实现了IUrlResolutionService接口,但似乎仍然无法获取System.Web.UI.WebControl来解析URL。您可以尝试System.Web.VirtualPath实用性类: public class f
System.Web.UI.WebControl
时,它完全不做任何事情,并且保持tilde/~不变
我查看了
System.Web.UI.Control
,它实现了IUrlResolutionService
接口,但似乎仍然无法获取System.Web.UI.WebControl
来解析URL。您可以尝试System.Web.VirtualPath实用性类:
public class foo : System.Web.UI.Control
{
public foo()
{
var a = new HyperLink(){ Text="Test", NavigateUrl="~/abc.aspx"};
this.Controls.Add(a);
}
}
我通常这样做是为了获得根目录并让它们映射我的路径:
+“/mypath/mypage.aspx”我希望该类能够解析URL,并了解它们为什么不解析。不确定,但可能是WebControl不支持这种相对映射…我会检查它
public foo()
{
var a = new HyperLink()
{
Text="Test",
NavigateUrl=VirtualPathUtility.ToAbsolute("~/abc.aspx")
};
this.Controls.Add(a);
}