server.transfer和response.redirect,convert和parse详细讲解
来源:互联网 发布:js设置隐藏 编辑:程序博客网 时间:2024/06/01 10:22
server.transfer和response.redirect的区别
Response.Redirect方法导致浏览器链接到一个指定的URL。当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL。浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。
这就是说,使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面的请求,得到一个302应答,第二次是请求302应答中声明的新页面,得到重定向之后的页面。
Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。
默认情况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成True,就可以保留第一个页面的表单数据和查询字符串。
同时,使用Server.Transfer时应注意一点:目标页面将使用原始页面创建的应答流,这导致ASP.NET的机器验证检查(Machine Authentication Check,MAC)认为新页面的ViewState已被篡改。因此,如果要保留原始页面的表单数据和查询字符串集合,必须把目标页面Page指令的EnableViewStateMac属性设置成False
Convert.ToInt32(),int.Parse(),int32.TryParse的区别
1.可转换类型的不同
Convert.ToInt32()被重写19次,可以满足不同的参数需要,几乎可以把各种类型(包括object 引用类型)的值转换为int类型。
int.Parse()被重写4次,只能转化string。
2.对null的处理
Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
3. 对浮点数的处理
Convert.ToInt32(double value)
如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4
int.Parse("4.5")
运行的时候报错:"输入字符串的格式不正确".
4.机能
Int32.TryParse() 不抛出异常,返回true或false 申明解析是否成功,若是返回false 则out调用方将会获得零值;
从机能上讲,Int32.TryParse()优于Convert.ToInt32()与int.Parse()。
枚举类型时,只能使用int而不能使用int32
Response.Redirect方法导致浏览器链接到一个指定的URL。当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL。浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。
这就是说,使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面的请求,得到一个302应答,第二次是请求302应答中声明的新页面,得到重定向之后的页面。
Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。
如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。
默认情况下,Server.Transfer方法不会把表单数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成True,就可以保留第一个页面的表单数据和查询字符串。
同时,使用Server.Transfer时应注意一点:目标页面将使用原始页面创建的应答流,这导致ASP.NET的机器验证检查(Machine Authentication Check,MAC)认为新页面的ViewState已被篡改。因此,如果要保留原始页面的表单数据和查询字符串集合,必须把目标页面Page指令的EnableViewStateMac属性设置成False
Convert.ToInt32(),int.Parse(),int32.TryParse的区别
1.可转换类型的不同
Convert.ToInt32()被重写19次,可以满足不同的参数需要,几乎可以把各种类型(包括object 引用类型)的值转换为int类型。
int.Parse()被重写4次,只能转化string。
2.对null的处理
Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
3. 对浮点数的处理
Convert.ToInt32(double value)
如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4
int.Parse("4.5")
运行的时候报错:"输入字符串的格式不正确".
4.机能
Int32.TryParse() 不抛出异常,返回true或false 申明解析是否成功,若是返回false 则out调用方将会获得零值;
从机能上讲,Int32.TryParse()优于Convert.ToInt32()与int.Parse()。
枚举类型时,只能使用int而不能使用int32
- server.transfer和response.redirect,convert和parse详细讲解
- Response.Redirect和Server.Transfer
- Server.Transfer和Response.Redirect
- Server.Transfer和Response.Redirect
- Server.Transfer()和Response.Redirect
- Server的Transfer和Response的Redirect
- Response.Redirect和Server.Transfer的不同
- Server.Transfer 和 Response .Redirect 的区别?
- Server.Transfer 和Response.Redirect 比较
- Response.Redirect和Server.Transfer的区别
- Response.Redirect和Server.Transfer的区别
- Response.Redirect 和Server.Transfer的区别
- Response.Redirect和Server.Transfer的区别
- Response.Redirect和Server.Transfer的区别
- Server.Transfer和Response.Redirect的区别
- Server.Transfer,Response.Redirect 和 Page.Navigate
- response.redirect和Server.Transfer区别
- Server的Transfer和Response的Redirect
- javascript 四舍五入
- 又一个NoSQL知识清单
- Android adb devices显示no permission
- SDL init failure, reason is: No available video device
- java.lang.Object类
- server.transfer和response.redirect,convert和parse详细讲解
- IOS开发self.的用法总结
- 线程池相关源码(网上搜得)
- Visual C 6.0中F2C的使用
- Android.mk的用法和基础
- 理解JavaScript的caller,callee,call,apply
- base-kernel-file-gernel
- Oracle Procedure示例05
- 军队的级别与军队编制