I have the following code:
public class NavigationPath
{
private string menuItems = "<li>" +
"<a href=\"#\">home</a>" +
"</li>";
But I would like to have:
public class NavigationPath
{
private string menuItems = "<li>" +
"<a href=\"" + ResolveClientUrl("~/home.aspx") + "\">re</a>" +
"</li>";
However, I am not able to use ResolveClientUrl inside a Class. Any ideas?
ResolveClientUrl is a member of the System.Web.UI.Control class, hence it's accessible directly as:
when called within the code of your asp.net page.
To use it inside a class you're going to have to pass the Page (or a control on the page) into the class in its constructor. Even then I'm not sure you'd be able to use it in the way you've indicated. You'd probably have to do something similar to:
And then inside your asp.net page do something like:
Bit old but might help someone. Using :
And in code:
Worked for me, I use Web Application and not Web Site solution, though.
Regards
I found VirtualPathUtility.ToAbsolute to work very well for my purpose.
Worked perfectly:
Instead of calling
ResolveClientUrl
on the Page object (or any controls), you can also useVirtualPathUtility.ToAbsolute("~/home.aspx");
which will give you the same result as callingResolveUrl("~/home.aspx");