我在做在一个多页面页面程序进行数据库的安装,第一页放用户协议,第二页放用户数据库设置。。翻页的时候依次隐藏
在调试的时候遇到了,凡是TextMode="Password"的textbox的值均为“”,其他文本框输入正常的问题,
找到原因了:
在分页面显示的时候,把密码输入框所在的Panel 的 Visible设置为false,密码的获取值就为“”了,之前看过关于把密码输入框隐藏不能获取值的问题,没想到这个也是同样的
Sub PageChange(ByVal pageid As Int16)
Panel_readme.Visible = False
Panel_set.Visible = False
Panel_install.Visible = False
Panel_finish.Visible = False
为了实现翻页又不丢失密码,使用了session在Panel_set.Visible = False之前把密码保存下来,这样就解决了上述问题
修改前全部代码如下:
Protected Sub Bt_Next_Click(sender As Object, e As System.EventArgs) Handles Bt_Next.Click
Dim aa As Int16 = Val(Install_Step.Text)
If aa >= 1 And aa <= 3 Then
aa = aa + 1
Install_Step.Text = aa
End If
PageChange(aa)
End Sub
Protected Sub Bt_Pre_Click(sender As Object, e As System.EventArgs) Handles Bt_Pre.Click
Dim aa As Int16 = Val(Install_Step.Text)
If aa >= 2 And aa <= 4 Then
aa = aa - 1
Install_Step.Text = aa
End If
PageChange(aa)
End Sub
Sub PageChange(ByVal pageid As Int16)
Panel_readme.Visible = False
Panel_set.Visible = False
Panel_install.Visible = False
Panel_finish.Visible = False
Bt_Next.Text = "下一步"
Panel_finish.Visible = False
Select Case pageid
Case 1
Panel_readme.Visible = True
Bt_Pre.Enabled = False
Bt_Next.Enabled = True
Case 2
Panel_set.Visible = True
Bt_Pre.Enabled = True
Bt_Next.Enabled = True
Case 3
Panel_install.Visible = True
Bt_Pre.Enabled = True
Bt_Next.Enabled = True
Case 4
Panel_finish.Visible = True
Bt_Pre.Enabled = False
Bt_Next.Enabled = True
Bt_Next.Text = "完 成"
End Select
End Sub
Protected Sub Bt_db_Click(sender As Object, e As System.EventArgs) Handles Bt_db.Click
Dim db_server, db_user, db_name, db_port, db_pwd As String
Dim ad_username, ad_pwd As String
If Not IsPostBack Then
ad_pwd = AdminPWD.Text
End If
Bt_Next.Enabled = False
db_server = DBserver.Text
db_port = DBPort.Text
db_pwd = DBPwd.Text
db_user = DBUserName.Text
db_name = DBName.Text
ad_username = AdminUsername.Text
ad_pwd = AdminPWD.Text
Dim ConnStr As String
ConnStr = String.Format("server={0};user={1};database={2};port={3};password={4};charset=gb2312", db_server, db_user, db_name, db_port, db_pwd)
Dim Myconn As MySqlConnection = New MySqlConnection
Myconn.ConnectionString = ConnStr
'Try
Myconn.Open()
'读取sql文件
'打开sql文件
' Dim Sql As String = ""
Dim FileName As String = Server.MapPath("sql.sql")
Dim FileStream As StreamReader
FileStream = File.OpenText(FileName)
Dim OutsqlList As String = "" ' 输出到显示列表的字符串
Dim table, sql As String
While FileStream.Peek() <> -1
table = FileStream.ReadLine()
sql = FileStream.ReadLine()
OutsqlList += "创建表:" & table & " 完成" & Chr(13) & Chr(10)
SqlList.Text = OutsqlList
'表写入数据库
'db.ExecuteNonQuery("")
'更新管理员姓名,密码
MySqlHelper.ExecuteNonQuery(Myconn, "update b_member set username='" & ad_username & "',pwd='" & GetMd5(ad_pwd, 32) & "'")
End While
FileStream.Close()
Myconn.Close()
Myconn.Dispose()
Bt_db.Enabled = False
Bt_Next.Enabled = True
'写入configuration文件
'ConfigurationManager.ConnectionStrings("LocalMySqlServer").ConnectionString
'ConfigurationManager.ConnectionStrings.
'Catch ex As Exception
' SqlList.Text = "数据库配置信息错误,请重新配置"
' Bt_Pre.Enabled = True
'End Try
End Sub