コード例 #1
0
        public string EncodePermalink(string link, bool rooted)
        {
            var request = HttpContext.Current.Request;

            if (rooted)
            {
                var appPath = request.ApplicationPath;
                if (appPath.Equals("/"))
                {
                    appPath = string.Empty;
                }
                return(string.Format("{0}://{1}{2}/default.aspx?_link={3}", request.Url.Scheme, request.Url.Authority, appPath, HttpUtility.UrlEncode(StringEncryptor.ToString(link))));
            }
            else
            {
                var linkSegments = link.Split('?');
                var arguments    = string.Empty;
                if (linkSegments.Length > 1)
                {
                    arguments = linkSegments[1];
                }
                return(string.Format("{0}?_link={1}", linkSegments[0], HttpUtility.UrlEncode(StringEncryptor.FromString(arguments))));
            }
        }