我有以下代码:
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);