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 内部重定向的更多相关文章
- asp.net php asp jsp 301重定向的代码
介绍一下针对各类程序系统实施301重定向的代码: 1.Linux主机重定向 Godaddy的Liunx主机,Godaddy本身已经支持Apache,所以直接创建一个.htaccess文件就可以了,一般 ...
- asp.net内部原理3
asp.net内部原理(三) 第三个版本 (最详细的版本) 前言: 今天继续吧这个系列补齐,这几天公司的项目比较忙,回到家已经非常的累了,所以也没顾得上天天来这里分享一些东西和大家一起探讨,但是今天晚 ...
- 【原创】asp.net内部原理(三) 第三个版本 (最详细的版本)
前言: 今天继续吧这个系列补齐,这几天公司的项目比较忙,回到家已经非常的累了,所以也没顾得上天天来这里分享一些东西和大家一起探讨,但是今天晚上我还是坚持打开电脑,分享一些asp.net生命周期的知识, ...
- 详细介绍ASP.NET页面重定向方法
ASP.NET中页面重定向的使用的很频繁,实现方法也有不同,自己也试过几种,现在总结一下. 一.Transfer Execute Redirect重定向方法介绍 1.Server.Transfer方法 ...
- ASP.NET内部原理(HttpHandler和HttpModule)
[IT168 技术文档]在以前的ASP时候,当请求一个*.asp页面文件的时候,这个HTTP请求首先会被一个名为 inetinfo.exe进程所截获,这个进程实际上就是www服务.截获之后它会将这个请 ...
- ASP.NET界面重定向传值
这么说吧,当程序启动时,ASP.NET会自动创建一些经常使用的类的实例,而这些实例就是ASP.NET的内置对象,常用的实例对象有:Response(来自HttpResponse类).Request(来 ...
- asp.net 301重定向代码
/// <summary> ///重定向代码 /// </summary> /// <param name="sender"></para ...
- ASP.NET - 网页重定向 Response.Redirect()
在网页中使用重定向,意思就是在网站中的某一个页面跳转到另一个页面. Response.Redirect(~/abc.aspx); 使用“~”的作用是可以从任意位置跳转. 如果没有“~”,那么跳转的时候 ...
- ASP 文件内部访问数据库的通常途径
创建至数据库的 ADO 连接(ADO connection) 打开数据库连接 创建 ADO 记录集(ADO recordset) 打开记录集(recordset) 从数据集中提取你所需要的数据 关闭数 ...
随机推荐
- BULK INSERT如何将大量数据高效地导入SQL Server
转载自:http://database.51cto.com/art/201108/282631.htm BULK INSERT如何将大量数据高效地导入SQL Server 本文我们详细介绍了BULK ...
- FineUI控件之树的应用(二)
一.Tree控件应用 <f:PageManager ID="PageManager1" runat="server" /> <f:Tree I ...
- C#界面设计疑问
1.就是想做一个类似下面界面的窗体,上面一排按键,点击一个下面对应改变一次界面的内容,这是如何实现的呢 ...是不是通过,比如这里有四个按键,然后使用4个大小相同的面板,每个面板内容不同.按一个按键, ...
- 虚函数—c++的灵魂
<note_content /> 虚函数 C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数 ...
- [Mac] 使用Mac时的一些技巧
这篇博客就用来记录自己在使用Mac时学来的一些技巧吧! 1. 如何开启 Sticky key (在屏幕上显示输入的控制键) 就是这个东西啦,就是在视频演示的时候让别人看到自己按了什么控制键. 在s ...
- VC中窗口ID,句柄,指针三者相互转换函数【转】
ID--HANDLE--HWND三者之间的互相转换id->句柄 hWnd = ::GetDlgItem(hParentWnd,id);id->指针 CWnd:: ...
- 什么是JSONP以及它是怎么产生的
什么是JSONP以及它是怎么产生的 1.什么是jsonp JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Scr ...
- iframe的操作
获取iframe的window,获取Iframe的document,获取父页面的window,某个环境是否iframe,动态创建iframe 这是demo.html,这个页用iframe嵌入了ifra ...
- linux下snprintf和sprinf很少被提及的区别
函数原型:int snprintf(char *dest, size_t size, const char *fmt, ...);函数说明: snprintf函数中的第二个参数,size的解释:siz ...
- iOS 断网处理
iOS 断网处理 (2014-01-13 18:13:21) 转载▼ 标签: it - (BOOL)application:(UIApplication *)application didFini ...