在webform上面有两个dropdownList,但是查询时要用选中的值,却得不到,不管我选择什么
dpLstCompany.SelectedValue的值总是""Private Sub lnkSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lnkSearch.Click
Dim lsSQL As String
Dim lsCompany As String lsCompany = Me.dpLstCompany.SelectedValue
lsSQL = "select QVL.*,QVL.ROWID from QVL where 1=1"
If Me.dpLstCompany.SelectedValue <> "" Then lsSQL = lsSQL & " and company_no=" & dpLstCompany.SelectedValue & ""
If Me.dpLstStatus.SelectedValue <> "" Then lsSQL = lsSQL & " and status=" & dpLstCompany.SelectedValue & ""
If txtBrand.Text <> "" Then lsSQL = lsSQL & " and brand='" & txtBrand.Text & "'"
If txtVDPN.Text <> "" Then lsSQL = lsSQL & " and vendor_pn='" & txtVDPN.Text & "'"
If txtItem.Text <> "" Then lsSQL = lsSQL & " and item_no='" & txtItem.Text & "'"
Session("LastSQL") = lsSQL
DataGrid1.EditItemIndex = -1
setDataBind(lsSQL)
End Sub这是pageload 的代码,而且datatable的值是能够正确得到的
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dttStatus As DataTable
Dim dttCompany As DataTable
If Not IsPostBack Then
Session.Add("LastSQL", "select qvl.*,qvl.rowid from qvl")
setDataBind(Session("LastSQL"))
End If
dttStatus = getStatus()
dpLstStatus.DataSource = dttStatus
dpLstStatus.DataTextField = "code_name"
dpLstStatus.DataValueField = "code_id"
dpLstStatus.DataBind() dttCompany = getCompany()
dpLstCompany.DataSource = dttCompany
dpLstCompany.DataTextField = "company_name"
dpLstCompany.DataValueField = "company_no"
dpLstCompany.DataBind()
End Sub
dpLstCompany.SelectedValue的值总是""Private Sub lnkSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lnkSearch.Click
Dim lsSQL As String
Dim lsCompany As String lsCompany = Me.dpLstCompany.SelectedValue
lsSQL = "select QVL.*,QVL.ROWID from QVL where 1=1"
If Me.dpLstCompany.SelectedValue <> "" Then lsSQL = lsSQL & " and company_no=" & dpLstCompany.SelectedValue & ""
If Me.dpLstStatus.SelectedValue <> "" Then lsSQL = lsSQL & " and status=" & dpLstCompany.SelectedValue & ""
If txtBrand.Text <> "" Then lsSQL = lsSQL & " and brand='" & txtBrand.Text & "'"
If txtVDPN.Text <> "" Then lsSQL = lsSQL & " and vendor_pn='" & txtVDPN.Text & "'"
If txtItem.Text <> "" Then lsSQL = lsSQL & " and item_no='" & txtItem.Text & "'"
Session("LastSQL") = lsSQL
DataGrid1.EditItemIndex = -1
setDataBind(lsSQL)
End Sub这是pageload 的代码,而且datatable的值是能够正确得到的
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dttStatus As DataTable
Dim dttCompany As DataTable
If Not IsPostBack Then
Session.Add("LastSQL", "select qvl.*,qvl.rowid from qvl")
setDataBind(Session("LastSQL"))
End If
dttStatus = getStatus()
dpLstStatus.DataSource = dttStatus
dpLstStatus.DataTextField = "code_name"
dpLstStatus.DataValueField = "code_id"
dpLstStatus.DataBind() dttCompany = getCompany()
dpLstCompany.DataSource = dttCompany
dpLstCompany.DataTextField = "company_name"
dpLstCompany.DataValueField = "company_no"
dpLstCompany.DataBind()
End Sub
Session.Add("LastSQL", "select qvl.*,qvl.rowid from qvl")
setDataBind(Session("LastSQL"))
dttStatus = getStatus()
dpLstStatus.DataSource = dttStatus
dpLstStatus.DataTextField = "code_name"
dpLstStatus.DataValueField = "code_id"
dpLstStatus.DataBind() dttCompany = getCompany()
dpLstCompany.DataSource = dttCompany
dpLstCompany.DataTextField = "company_name"
dpLstCompany.DataValueField = "company_no"
dpLstCompany.DataBind()
End If
Thanks a lot