程序的部分代码:
private sub check_name()
Dim sqlConn As New SqlConnection("...")
Dim sqlCmd As New SqlCommand
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = "pro_login" //这是我写的存储过程名
sqlCmd.CommandType = CommandType.StoredProcedure
sqlConn.Open()
//以下是参数定义
sqlCmd.Parameters.Add(New SqlParameter("@name", SqlDbType.VarChar, 20))
sqlCmd.Parameters("@name").Value = TextBox1.Text
sqlCmd.Parameters.Add(New SqlParameter("@pswd", SqlDbType.VarChar, 32))
sqlCmd.Parameters("@pswd").Value = TextBox2.Text
定义一个DataReader//
Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader
If sqlReader.Read Then
Session("user_name") = TextBox1.Text
Response.Redirect("manage.aspx")
ElseIf Not sqlReader.Read Then
submit.Attributes("onclick") = "javascript:alert('用户名或密码不正确,请重新输入')"
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
TextBox1.Text = ""
TextBox2.Text = ""
End If
sqlConn.Close()
sqlConn = Nothing
end sub
我没搞懂程序哪点有错?但为什么总是要先弹出错误提示呢?高人,帮我一下啊,谢谢!!!
14 个解决方案
#1
补充一点:我的数据库连接没有任何问题,存储过程也没问题!
我希望知道为什么会这样。分不是问题,不够可以再加~~~~~~~~~~
我希望知道为什么会这样。分不是问题,不够可以再加~~~~~~~~~~
#2
If Not sqlReader.Read 可以直接Response.Write("<script>window.alert('***')</script>");
#3
If Not sqlReader.Read 可以直接Response.Write("<script>window.alert('***')</script>");
------------------------------------------------------------------------------
这样好像解决问题了,不过能说一下为什么吗?
我用submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")为什么就不行?
这两种弹出对话框的方法有什么异同呢?
谢谢!
------------------------------------------------------------------------------
这样好像解决问题了,不过能说一下为什么吗?
我用submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")为什么就不行?
这两种弹出对话框的方法有什么异同呢?
谢谢!
#4
这里是.NET高级群,在内的都是有一定水平的成员,请大家一起来探讨! 3945892
#5
up
#6
用断点跟一下老,看看先执行的是那句,想想怎么会跳过去的,
帮你顶一下!!
帮你顶一下!!
#7
俺初学,麻烦讲一下断点调试是怎么回事,谢谢!
#8
你那种方法会给输入HTML页面中的submit添加固定的js脚本,只要出错一次,alert就自动添到Click事件中
而后台控制Respnose输出流的话就不会产生上面的问题
而后台控制Respnose输出流的话就不会产生上面的问题
#9
up
#10
写的好乱
二者有什么不同
他写的是直接输出alert,而你的写法是给submit控件加载了一个属性.需要onclick才能触发.
而且按照你的写法好像不能触发.
二者有什么不同
他写的是直接输出alert,而你的写法是给submit控件加载了一个属性.需要onclick才能触发.
而且按照你的写法好像不能触发.
#11
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
你这样当然会先弹alert,因为这个onclick是在button提交之前执行的js.
把那个删了,改成这样
if 没通过验证
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
else
通过验证的操作
你这样当然会先弹alert,因为这个onclick是在button提交之前执行的js.
把那个删了,改成这样
if 没通过验证
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
else
通过验证的操作
#12
谢谢各位的指点!
不过 coldpanth(云之崖) 兄的方法好象不行
我试过了,不能达到目的,是不是还要导入什么东东?
不过 coldpanth(云之崖) 兄的方法好象不行
我试过了,不能达到目的,是不是还要导入什么东东?
#13
下面的试试。你的if,elseif没用,有点画蛇添足。。if,else就够了
private sub check_name()
Dim sqlConn As New SqlConnection("...")
Dim sqlCmd As New SqlCommand
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = "pro_login" //这是我写的存储过程名
sqlCmd.CommandType = CommandType.StoredProcedure
sqlConn.Open()
//以下是参数定义
sqlCmd.Parameters.Add(New SqlParameter("@name", SqlDbType.VarChar, 20))
sqlCmd.Parameters("@name").Value = TextBox1.Text
sqlCmd.Parameters.Add(New SqlParameter("@pswd", SqlDbType.VarChar, 32))
sqlCmd.Parameters("@pswd").Value = TextBox2.Text
定义一个DataReader//
Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader
If sqlReader.Read Then
Session("user_name") = TextBox1.Text
Response.Redirect("manage.aspx")
Else
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
TextBox1.Text = ""
TextBox2.Text = ""
End If
sqlConn.Close()
sqlConn = Nothing
end sub
private sub check_name()
Dim sqlConn As New SqlConnection("...")
Dim sqlCmd As New SqlCommand
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = "pro_login" //这是我写的存储过程名
sqlCmd.CommandType = CommandType.StoredProcedure
sqlConn.Open()
//以下是参数定义
sqlCmd.Parameters.Add(New SqlParameter("@name", SqlDbType.VarChar, 20))
sqlCmd.Parameters("@name").Value = TextBox1.Text
sqlCmd.Parameters.Add(New SqlParameter("@pswd", SqlDbType.VarChar, 32))
sqlCmd.Parameters("@pswd").Value = TextBox2.Text
定义一个DataReader//
Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader
If sqlReader.Read Then
Session("user_name") = TextBox1.Text
Response.Redirect("manage.aspx")
Else
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
TextBox1.Text = ""
TextBox2.Text = ""
End If
sqlConn.Close()
sqlConn = Nothing
end sub
#14
submit.Attributes("onclick") = "javascript:alert('用户名或密码不正确,请重新输入')"
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
这两句看不懂!!!
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
这两句看不懂!!!
#1
补充一点:我的数据库连接没有任何问题,存储过程也没问题!
我希望知道为什么会这样。分不是问题,不够可以再加~~~~~~~~~~
我希望知道为什么会这样。分不是问题,不够可以再加~~~~~~~~~~
#2
If Not sqlReader.Read 可以直接Response.Write("<script>window.alert('***')</script>");
#3
If Not sqlReader.Read 可以直接Response.Write("<script>window.alert('***')</script>");
------------------------------------------------------------------------------
这样好像解决问题了,不过能说一下为什么吗?
我用submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")为什么就不行?
这两种弹出对话框的方法有什么异同呢?
谢谢!
------------------------------------------------------------------------------
这样好像解决问题了,不过能说一下为什么吗?
我用submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")为什么就不行?
这两种弹出对话框的方法有什么异同呢?
谢谢!
#4
这里是.NET高级群,在内的都是有一定水平的成员,请大家一起来探讨! 3945892
#5
up
#6
用断点跟一下老,看看先执行的是那句,想想怎么会跳过去的,
帮你顶一下!!
帮你顶一下!!
#7
俺初学,麻烦讲一下断点调试是怎么回事,谢谢!
#8
你那种方法会给输入HTML页面中的submit添加固定的js脚本,只要出错一次,alert就自动添到Click事件中
而后台控制Respnose输出流的话就不会产生上面的问题
而后台控制Respnose输出流的话就不会产生上面的问题
#9
up
#10
写的好乱
二者有什么不同
他写的是直接输出alert,而你的写法是给submit控件加载了一个属性.需要onclick才能触发.
而且按照你的写法好像不能触发.
二者有什么不同
他写的是直接输出alert,而你的写法是给submit控件加载了一个属性.需要onclick才能触发.
而且按照你的写法好像不能触发.
#11
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
你这样当然会先弹alert,因为这个onclick是在button提交之前执行的js.
把那个删了,改成这样
if 没通过验证
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
else
通过验证的操作
你这样当然会先弹alert,因为这个onclick是在button提交之前执行的js.
把那个删了,改成这样
if 没通过验证
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
else
通过验证的操作
#12
谢谢各位的指点!
不过 coldpanth(云之崖) 兄的方法好象不行
我试过了,不能达到目的,是不是还要导入什么东东?
不过 coldpanth(云之崖) 兄的方法好象不行
我试过了,不能达到目的,是不是还要导入什么东东?
#13
下面的试试。你的if,elseif没用,有点画蛇添足。。if,else就够了
private sub check_name()
Dim sqlConn As New SqlConnection("...")
Dim sqlCmd As New SqlCommand
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = "pro_login" //这是我写的存储过程名
sqlCmd.CommandType = CommandType.StoredProcedure
sqlConn.Open()
//以下是参数定义
sqlCmd.Parameters.Add(New SqlParameter("@name", SqlDbType.VarChar, 20))
sqlCmd.Parameters("@name").Value = TextBox1.Text
sqlCmd.Parameters.Add(New SqlParameter("@pswd", SqlDbType.VarChar, 32))
sqlCmd.Parameters("@pswd").Value = TextBox2.Text
定义一个DataReader//
Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader
If sqlReader.Read Then
Session("user_name") = TextBox1.Text
Response.Redirect("manage.aspx")
Else
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
TextBox1.Text = ""
TextBox2.Text = ""
End If
sqlConn.Close()
sqlConn = Nothing
end sub
private sub check_name()
Dim sqlConn As New SqlConnection("...")
Dim sqlCmd As New SqlCommand
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = "pro_login" //这是我写的存储过程名
sqlCmd.CommandType = CommandType.StoredProcedure
sqlConn.Open()
//以下是参数定义
sqlCmd.Parameters.Add(New SqlParameter("@name", SqlDbType.VarChar, 20))
sqlCmd.Parameters("@name").Value = TextBox1.Text
sqlCmd.Parameters.Add(New SqlParameter("@pswd", SqlDbType.VarChar, 32))
sqlCmd.Parameters("@pswd").Value = TextBox2.Text
定义一个DataReader//
Dim sqlReader As SqlDataReader = sqlCmd.ExecuteReader
If sqlReader.Read Then
Session("user_name") = TextBox1.Text
Response.Redirect("manage.aspx")
Else
Response.Write("<SCRIPT language='vbscript'>alert('用户名或密码不正确,请重新输入')</SCRIPT>")
TextBox1.Text = ""
TextBox2.Text = ""
End If
sqlConn.Close()
sqlConn = Nothing
end sub
#14
submit.Attributes("onclick") = "javascript:alert('用户名或密码不正确,请重新输入')"
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
这两句看不懂!!!
submit.Attributes.Add("onclick", "return alert('用户名或密码不正确,请重新输入')")
这两句看不懂!!!