asp.net 内部重定向
2024-10-09 22:36:31
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.两张图片对比区别
最新文章
- LINQ 左右连接
- java.net.UnknownHostException: promote.cache-dns.local: unknown error
- pt-table-checksum 检查主从数据一致性
- 【洛谷P3076】Taxi
- 关于jQuery的inArray 方法介绍
- Python_Day2_基础2
- nginx安装启动
- redux-actions源码解读
- VirtualBox 使用技巧
- ios 检测应用程序升级问题
- 【caffe-windows】 caffe-master 之Matlab中model的分类应用
- 【剑指offer】不用加减乘除做加法
- [matlab] 22.matlab图论实例 最短路问题与最小生成树 (转载)
- Centos7之Gcc安装
- BZOJ 1912: [Apio2010]patrol 巡逻 (树的直径)(详解)
- Spring 实现两种设计模式:工厂模式和单态模式(单例模式)
- MySQL中文排序
- 20180821 Python学习笔记:如何获取当前程序路径
- python list初始化技巧
- 数据分组、统计 case when then else end