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; }
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; }
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); } } }