A A
RSS

Resolving URL in ASP.net using Tilda (~)

Fri, Jan 5, 2007

Uncategorized

I have been using .net since it has come out and I just found this out (so, I am kind of pissed). When I wanted to link to another url in my site e.g. <a href=”~/folder/file.aspx”>click here</a> it never worked because the <a> tag doesn’t understand the tilde (~). The way I used to fix this is by adding the runat=server to the <a> tag which enables it to understand what it means.

I just found a better solution – using ResolveClientUrl and it looks like this:

<a
href=’<%= ResolveClientUrl(“~/folder/file.aspx”) %>
/>

Tags:

  • I was looking into why an example code I was using also used the tilda. Normally I try to expelectily write out file/link paths and was pretty curious as to why they were using it for their user controls.

    It turns out with .net server side controls when the app is compiled the tilda will be "translated" into a Request.ApplicationPath request from within the application project.

    This is why it wouldn't work without the runat="server". Its because it only works on the server side and is translated correctly on compulation.

    Hope this helps, someone else out if their trying to figure out why exactly this works :).
  • Or just type click here. The runat-command will make asp.net to resolve the url.
  • but that will make the link postback instead of being just a regular link.
  • Korayem
    Nice find!
blog comments powered by Disqus
Advertise Here
The Most Intelligent Add-In To Visual Studio Happy fan of

What I'm Doing...

Yonkly Open Source

Sign up for my newsletter




* = required field

powered by MailChimp!

megree Widget

Apparently, I am connected to Obama. Check this out...
My path to Obama

Cyber Identity