当用户登录到我们的一个Web应用程序时,会出现一个包含我们所有员工姓名的下拉列表。
员工可以登录到系统以将他或她的条目记录到数据库中。
员工可以记录其他员工的条目。
到目前为止,员工必须从下拉列表中选择自己的姓名,并且我们不希望员工输入姓名,以保持一致性并保持数据的完整性。
我们现在的问题是如何让员工的登录名成为下拉列表中的默认选项。如果为其他empployee创建条目,员工可以从列表中选择另一个名称。
任何想法如何完成此任务?
非常感谢提前。
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Dim s As String
Dim reader As OleDbDataReader
txtFullName.Text = Session.Item("assignedTo").ToString
'Initialize Connection
s = "Select login_id, UserName from tblusers ORDER BY UserName"
Dim connStr As String = ConfigurationManager.ConnectionStrings("allstringconstrng").ConnectionString
Dim conn As New OleDbConnection(connStr)
Dim cmd As New OleDbCommand(s, conn)
'Open the connection
conn.Open()
Try
'Execute the Login command
reader = cmd.ExecuteReader()
'Populate the list of Users
txtLoginName.DataSource = reader
txtLoginName.DataValueField = "login_id"
txtLoginName.DataTextField = "UserName"
txtLoginName.DataBind()
'Close the reader
reader.Close()
Finally
'Close Connection
conn.Close()
End Try
End If
End Sub
< - 新代码 - > 尝试
'Execute the Login command
reader = cmd.ExecuteReader()
'Populate the list of Users
Dim currentUserName As String = ""
While reader.Read()
If (reader("login_id").ToString().Equals(currentUserName)) Then
currentUserName = reader("UserName").ToString()
End If
End While
txtLoginName.SelectedValue = currentUserName
'Close the reader
reader.Close()
Finally
'Close Connection
conn.Close()
End Try
没有得到任何错误,但我试过的一切都没有奏效。我已经使用底部的代码更新了我的帖子。你能看看我做错了什么吗? – Kenny
我认为你需要设置一个断点,看看你的代码在做什么。 If语句是否真实,从而为'currentUserName'赋值? – Sam