首页 > 代码库 > asp.net 内部重定向
asp.net 内部重定向
1.
/* * 2、 * Context.RewritePath() * 使用给定路径重写 URL。(内部重写) * 内部请求重写 */ public static void TestTwo() { //带有参数 处理 //http://localhost:49796/testtwo/{id} string result = ""; if (Contains(AbsolutePath, @"testtwo/\d+$", out result)) { RewritePath(GetVirtualPath("~/test/testone.aspx?id=" + GetIntStr(result))); } //没有参数 //http://localhost:49796/testtwo{*catchall} if (AbsolutePath.Contains("testtwo")) { RewritePath(GetVirtualPath("~/test/testone.aspx")); } } /* * 3、 * Context.RewritePath() * 使用给定路径重写 URL。(内部重写) * 内部请求执行转移 */ public static void TestThree() { //带有参数 处理 //http://localhost:49796/testtwo/{id}/{name}/ string result = ""; if (Contains(AbsolutePath, @"testthree/\d+/\w+/$", out result)) { result = result.Replace("testthree",""); _Server.Transfer("~/test/testone.aspx?id=" + GetIntStr(result) + "&name=" + GetStringStr(result)); } //没有参数 if (AbsolutePath.Contains("testthree")) { _Server.Transfer("~/test/testone.aspx"); } }
正则匹配
//判断 制定的字符串 在源字符串中是否匹配 //返回 第一个匹配项 private static bool Contains(string source, string target, out string firstMatch) { firstMatch = ""; Match result = Regex.Match(source, target, RegexOptions.IgnoreCase | RegexOptions.Singleline); if (result.Success) { firstMatch = result.Value; return true; } return false; } //获取字符串中的第一个数字字符匹配项 private static string GetIntStr(string source) { Match result = Regex.Match(source, @"(\d+)", RegexOptions.IgnoreCase | RegexOptions.Singleline); if (result.Success) { return result.Value; } return ""; } //获取字符串中 第一个字符串匹配项 private static string GetStringStr(string source) { Match result = Regex.Match(source, @"([a-z_]+)", RegexOptions.IgnoreCase | RegexOptions.Singleline); if (result.Success) { return result.Value; } return ""; }
2.两张图片对比区别
asp.net 内部重定向
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。