1. Server.Transfer跳转页面抛出异常:正在终止线程
今天在向数据库插入数据,之后使用Server.Transfer跳回本页面时,抛出异常:正在终止线程
ry
{
if ( == String.Compare(Password.Text.Trim(), ConfirmPassword.Text.Trim()))//两次输入密码相同
{
MembershipUser mu = Membership.CreateUser(UserName.Text, Password.Text);//添加注册用户
Roles.AddUserToRole(UserName.Text, "worker"); //添加角色
String strConn = "server=.;database=ComInfo;integrated security=true;";//连接字符串
SqlConnection conn = new SqlConnection(strConn);//创建数据库链接
conn.Open();//打开连接
String PassUserid = Request.QueryString["C_Id"];
String userid = mu.ProviderUserKey.ToString();//获取注册ID
SqlCommand cmd = new SqlCommand("insert into Emp(E_Name,E_Sex,E_Position,E_Organisation,E_Address,E_Phone,C_Id,User_Id) values(" +
"'" + UserName.Text.Trim() + "'," +
"'" + edt_sex.Text.Trim() + "'," +
"'" + edt_pos.Text.Trim() + "'," +
"'" + edt_dep.Text.Trim() + "'," +
"'" + edt_address.Text.Trim() + "'," +
"'" + edt_phone.Text.Trim() + "'," +
"'" + PassUserid + "'," + //公司ID
"'" + userid + "'" + //用户注册ID
")", conn);//sql语句,向Emp表添加数据
cmd.ExecuteNonQuery();
conn.Close();
Server.Transfer("~/User/Imformation.aspx");
} }
else
Response.Write("<script>window.alert('两次输入的密码不同!');</script>"); }
catch (Exception ex)
{
Response.Write("<script>window.confirm('" + ex.Message.ToString() + "');</script>");
}
原因:Server.Transfer的执行,将会内部调用Response.End,将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件,同时抛出ThreadAbortException 异常,异常信息为“正在中止线程”。
解决办法:将Server.Transfer语句放到finally中,不再抛出异常
finally
{
Server.Transfer("~/User/Imformation.aspx");
}
1. Server.Transfer跳转页面抛出异常:正在终止线程的更多相关文章
- Response.Redirect("");Server.Transfer("")跳转页面的区别
Response.Redirect("") Server.Transfer("") 转向其他站点 能 不能(只能站内转向) 是否可带QueryString参 ...
- 页面跳转 Server.Transfer和 Response.Redirect的区别
1.Server.Transfer 用于把处理的控制权从一个页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变.因此你能从a页面跳转到b页面 ...
- ASP.NET页面传值之Server.Transfer 和Response.Direct
先看实例: B.apsx: public string TextBox1Text { get { ...
- ASP.NET页面之间传值的方式之Server.Transfer(个人整理)
Server.Transfer 这个方法相比以前介绍的方法稍微复杂一点,但在页面间值传递中却是特别有用的,使用该方法你可以在另一个页面以对象属性的方式来存取显露的值,当然了,使用这种方法,你需要额外写 ...
- Server.Transfer 页面之间传值
server.transfer 特点: 1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行 ...
- ASP.NET页面之间传值Server.Transfer(4)
这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效. Serve ...
- Webform server.transfer 用法
server.transfer 特点: 1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行 ...
- server.transfer 用法
server.transfer 特点: 1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行 ...
- Server Transfer()和Response.Redirect()的使用
一.Server Transfer() Server.Transfer:对于当前请求,终止当前页的执行,并使用指定的页url路径来开始执行一个新页. 1. Server.Transfer只能够转跳到本 ...
随机推荐
- 转:Red Hat JBoss团队发布WildFly 8,全面支持Java EE 7并包含全新的嵌入式Web服务器
原文来自于:http://www.infoq.com/cn/news/2014/02/wildfly8-launch Red Hat的JBoss部门今天宣布WildFly 8正式发布.其前身是JBos ...
- RazorEngine 学习笔记
refer : https://github.com/Antaris/RazorEngine 微软的模板编辑器. Install-Package RazorEngine using RazorEngi ...
- VC++中调用cmd的集中方式
1. system方法: 原型: int __cdecl system(const char *); 例如: system("ipconfig"); 2. WinExec方法: 相 ...
- NERDTree这个插件的用法简介
事情是这样子的,想做做李治军老师班的操作系统实验,但是Linux上的gedit太简陋了(这个简陋程度堪比Windows环境下的"记事本"),被杨世祺大神嘲笑了.我心想既然在linu ...
- MySQL慢查询(一) - 开启慢查询
一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 二.参数说明 slow_query_log 慢查询开启状态slow_q ...
- [深入React] 9.小技巧
如果组件没有state那就可以精简成一个render function var Item = function(props){ return _('div',null,'名称:'+props.name ...
- Python 获取Facebook用户的Friends的爱好中的Top10
CODE; #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-12 @author: guaguastd @name: f ...
- Linux安装Weblogic9.2
1.先确认安装的环境是不是LINUX AS 4 [root@yaoxj ~]# cat /etc/issue Red Hat Enterprise Linux AS release 4 (Nahant ...
- cocos2d-x 2.x 图层特效Effect(转)
CCSprite* sp = CCSprite::create("Default.png"); sp->setPosition(ccp(, )); addChild(sp); ...
- Python字符串格式符号含义
====== #字符串格式化符号含义 #%C 格式化字符串及其ASCLL码 >>> '%c' %97 'a' >>> '%c' % 97 'a' >>& ...