示例#1
0
        public static string RemoveQueryStringKeyFromUrl(string OriginalUrl, string QsKeyToRemove)
        {
            return(Urls.RemoveQueryStringKeyFromUrl(OriginalUrl, QsKeyToRemove));

            var url = new Uri(OriginalUrl);

            return(RemoveQueryStringKeyFromUrl(url, QsKeyToRemove));
        }
示例#2
0
        public static string RemoveQueryStringKeyFromUrl(Uri OriginalUri, string QsKeyToRemove)
        {
            return(Urls.RemoveQueryStringKeyFromUrl(OriginalUri, QsKeyToRemove));

            var uri = OriginalUri;

            var baseUrl = uri.AbsoluteUri.Replace(uri.Query, "");
            // var basePath = uri.AbsolutePath;

            //Anchor Tag
            var currAnchor = uri.Fragment.Replace("#", "");
            //var providedAnchor = NewAnchor.Replace("#", "");
            var newAnchor = "";

            if (currAnchor != "")
            {
                //    if (NewAnchor != "")
                //    {
                //        newAnchor = providedAnchor;
                //    }
                //    else
                //    {
                newAnchor = currAnchor;
                //}

                newAnchor = "#" + newAnchor;
            }
            //else
            //{
            //newAnchor = providedAnchor;
            //}

            //Query String Values
            var qs = GetQueryStringDictionary(uri.Query);

            if (qs.ContainsKey(QsKeyToRemove))
            {
                qs.Remove(QsKeyToRemove);
            }

            var allQs = AssembleQueryString(qs);

            //Build New Url
            var newUrl = string.Format("{0}?{1}{2}", baseUrl, allQs, newAnchor);

            newUrl = newUrl.Replace("?&", "?"); //Cleanup if all QS have been removed

            return(newUrl);
        }