public class foo : System.Web.UI.Control
{
public foo()
{
var a = new HyperLink(){ Text="Test", NavigateUrl="~/abc.aspx"};
this.Controls.Add(a);
}
}
上記のコードは正しく動作し、ページに追加するとチルダ/〜記号が正しく識別され、URLが相対URLに変換されます。相対URLがSystem.Web.UI.UserControlで機能しない
しかし、クラスの導出をSystem.Web.UI.WebControl
に変更すると、それは絶対に何もせず、チルダ/〜そのままになります。
IUrlResolutionService
インターフェイスを実装したSystem.Web.UI.Control
を見ましたが、まだURLを解決するためにSystem.Web.UI.WebControl
を取得できないようです。
私はクラスにURLを解決してもらいたいと思っています。 – maxp
わかりませんが、WebControlがこの相対マッピングをサポートしていない可能性があります...私はそれをチェックアウトします –