private static bool HyperlinkMatchesUri(string uri, HyperlinkButton link) { var queryStart = uri.IndexOf('/', Math.Min(uri.Length, 1)); if (queryStart < 0) { queryStart = uri.IndexOf('?'); } if (queryStart > 0) { uri = uri.Substring(0, queryStart); } if (link.CommandParameter != null && uri.Equals(link.CommandParameter.ToString(), StringComparison.InvariantCultureIgnoreCase)) { return(true); } var alternativeUris = LinkHighlighter.GetAlternativeUris(link); if (alternativeUris != null && alternativeUris.Any(alternative => uri.Equals(alternative, StringComparison.InvariantCultureIgnoreCase))) { return(true); } return(false); }
private static bool HyperlinkMatchesUri(string uri, HyperlinkButton link) { if (link.CommandParameter != null && uri.StartsWith(link.CommandParameter.ToString(), StringComparison.InvariantCultureIgnoreCase)) { return(true); } var alternativeUris = LinkHighlighter.GetAlternativeUris(link); if (alternativeUris != null && alternativeUris.Any(alternative => uri.StartsWith(alternative, StringComparison.InvariantCultureIgnoreCase))) { return(true); } return(false); }