Asp.net 如何让DropDownList从文本框复制数据?
目前在我的Web表单中,我有一个级联下拉列表,但我现在主要关注第一个下拉列表 下面是加载列表的代码Asp.net 如何让DropDownList从文本框复制数据?,asp.net,vb.net,visual-web-developer-2010,Asp.net,Vb.net,Visual Web Developer 2010,目前在我的Web表单中,我有一个级联下拉列表,但我现在主要关注第一个下拉列表 下面是加载列表的代码 Private Sub FillLine() ' load 1st dropdown data Dim dt As New DataTable Dim strSql = "select distinct level1_id, [LCODE1]+ ' | '+[LNAME1] as [LCODE1]" _ &
Private Sub FillLine() ' load 1st dropdown data
Dim dt As New DataTable
Dim strSql = "select distinct level1_id, [LCODE1]+ ' | '+[LNAME1] as [LCODE1]" _
& " FROM [SQLIOT].[dbo].[ZVIEW_MCM_LEVEL_LOOKUP]"
Using conn As New SqlConnection(ConStr),
cmd As New SqlCommand(strSql, conn)
conn.Open()
dt.Load(cmd.ExecuteReader)
End Using
If dt.Rows.Count > 0 Then
line.DataSource = dt
line.DataTextField = "LCODE1"
line.DataValueField = "level1_id"
line.DataBind()
line.Items.Insert(0, "")
End If
End Sub
这是我提取的数据的视觉表现
| level1_id | LCODE1 |
-----------------------------
| 1 | A01 | Line 1 |
我还希望根据URL查询字符串自动加载正确值的下拉列表
我的计划是首先在一个不可见的文本框中加载该值,并指示下拉列表使用页面加载事件基于该文本框选择相同的数据
'load textbox with query string info
Sub loadFrmQuery()
Dim LID As String = Request.QueryString("LID")
Dim cmd As New SqlCommand("SELECT level1_id " _
& ", level2_id " _
& ", level3_id " _
& "FROM [SQLIOT].[dbo].[ZVIEW_MCM_LEVEL_LOOKUP] " _
& "where [LEVEL3_ID] = '" & LID & "'", conn)
conn.Open()
Dim rdr As SqlDataReader = cmd.ExecuteReader
While rdr.Read
line_text.Text = rdr("level1_id")
process_text.Text = rdr("level2_id")
equip_text.Text = rdr("level3_id")
End While
conn.Close()
End Sub
'page load event
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Session("EmpID") Is Nothing Then
Response.Redirect("~/Login.aspx")
Else
If Not IsPostBack Then 'whenever hv dropdownlist, need to have this in load sub, or else won't get ddl data.
FillLine()
loadFrmQuery()
line.DataValueField = line_text.Text
End If
End If
End Sub
但是在测试期间,下拉列表不会加载数据。我尝试调用下拉列表中的DataTextField和DataValueField,但仍然没有响应。在这种情况下,我该怎么办?level1\u id是ZVIEW\u MCM\u LEVEL\u查找的主键吗?在完整SQL表中,否。但在此选择中,是。在页面中。加载
line.DataValueField=line\u text.text
。您已经使用line.DataValueField=“level1\u id”
在FillLine()
中设置了此属性,将其重置为该文本框的内容没有多大意义。当时我认为使用该行意味着我正在告诉下拉列表在其选择范围内选择该值。如果这样做会重置列表的内容,正确的方法应该是什么?我知道了。。。它是行。selectedvalue
。真不敢相信这么明显。。。