我有以下代码:
- public class NavigationPath
- {
- private string menuItems = "<li>" +
- "<a href=\"#\">home</a>" +
- "</li>";
但我想要有:
- public class NavigationPath
- {
- private string menuItems = "<li>" +
- "<a href=\"" + ResolveClientUrl("~/home.aspx") + "\">re</a>" +
- "</li>";
但是,我无法在Class中使用ResolveClientUrl。任何想法?
提前提前,为你的时间
解决方法
ResolveClientUrl是System.Web.UI.Control类的成员,因此可以直接访问:
- var url = ResolveClientUrl("~/Some/Url/");
要在类中使用它,您将不得不将页面(或页面上的控件)传递到其构造函数中的类中。即使如此,我也不确定你可以按照你指出的方式使用它。你可能要做类似的事情:
- public class NavigationPath
- {
- private string menuItems = string.Empty;
- public NavigationPath(Page page)
- {
- menuItems = "<li>" + "<a href=\"" + page.ResolveClientUrl("~/Home.aspx") + "\">home</a>" + "</li>";
- }
- }
然后在你的asp.net页面做一些像:
- var navPath = new NavigationPage(this);