November Happy Hour will be moved to Thursday December 5th.

Check if Url property is external or internal

Vote:
 

Hi!

I have a property of type Url, and I want to check if it is internal or external. How do I do that?

Url link = CurrentBlock.RelatedInfoLink;

link.?

#113304
Nov 18, 2014 12:23
Vote:
 

Hi!

How do you mean internal link? You mean the link used in CMS edit mode or the permanent link?

/Q

#113306
Nov 18, 2014 12:57
Vote:
 

I'm assuming you want to check if your link points to an internal page or an external URL.

The URL property type doesn't have a method for checking that. 

I think the closest you can get is to check if link.Host matches your siteUrl.

#113331
Edited, Nov 18, 2014 14:30
Vote:
 

I know this is old but you could use @Url.IsLocalUrl(link.Href) to check if a link is internal.

#254322
May 04, 2021 0:13
Eric - Feb 01, 2022 20:06
This is currently the best way and also a hidden gem that few know about. Thanks for the answer!! :)
Always been a bit of a problem to determine the best way to check if a link is external or not.
Ethan Schofer - Jan 03, 2024 21:23
Nice. Thanks Santiago!!!
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.