コード例 #1
0
 public virtual void Initialize(RewriteSettings rewriteSettings)
 {
     if (rewriteSettings == null)
     {
         throw new ArgumentNullException("rewriteSettings");
     }
     this.redirect            = rewriteSettings.Redirect;
     this.rewrite             = rewriteSettings.Rewrite;
     this.redirectMode        = rewriteSettings.RedirectMode;
     this.rewriteUrlParameter = rewriteSettings.RewriteUrlParameter;
     this.ignoreCase          = rewriteSettings.IgnoreCase;
     this.Name = rewriteSettings.Name;
 }
コード例 #2
0
        public virtual void Initialize(RewriteSettings rewriteSettings)
        {
            if (rewriteSettings == null)
                throw new ArgumentNullException("rewriteSettings");

            _redirect = rewriteSettings.Redirect;
            _rewrite = rewriteSettings.Rewrite;
            _redirectMode = rewriteSettings.RedirectMode;
            _rewriteUrlParameter = rewriteSettings.RewriteUrlParameter;
            _ignoreCase = rewriteSettings.IgnoreCase;

            Name = rewriteSettings.Name;
        }
コード例 #3
0
        private void OnPagePreInit(object sender, EventArgs e)
        {
            HttpContext context    = HttpContext.Current;
            string      virtualUrl = (string)context.Items[ItemsVirtualUrl];

            if (!string.IsNullOrEmpty(virtualUrl))
            {
                int pos = virtualUrl.IndexOf('?');
                if (pos >= 0)
                {
                    virtualUrl = virtualUrl.Substring(0, pos);
                }

                RewriteUrlParameterOption option = (RewriteUrlParameterOption)context.Items[ItemsRewriteUrlParameter];
                string fullQueryString           = context.Request.QueryString.ToString();
                context.Items[ItemsCachedPathAfterRewrite] = context.Request.Path + "?" + fullQueryString;

                if ((option & RewriteUrlParameterOption.StoreInContextItems) != 0)
                {
                    foreach (string key in context.Request.QueryString.AllKeys)
                    {
                        context.Items[_contextItemsPrefix + key] = context.Request.QueryString[key];
                    }
                }

                string clientQueryString = (string)context.Items[ItemsClientQueryString];
                if ((option & RewriteUrlParameterOption.ExcludeFromClientQueryString) != 0)
                {
                    context.RewritePath(virtualUrl, string.Empty, clientQueryString, true);
                    Page page = sender as Page;
                    clientQueryString = page.ClientQueryString;
                }

                if ((option & RewriteUrlParameterOption.StoreInContextItems) == 0)
                {
                    context.RewritePath(virtualUrl, string.Empty, fullQueryString, true);
                }
                else if ((option & RewriteUrlParameterOption.ExcludeFromClientQueryString) == 0)
                {
                    context.RewritePath(virtualUrl, string.Empty, clientQueryString, true);
                }
            }
        }