Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not IsPostBack Then FillKategorier() End If
Dim ConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("SiteConnectionString").ConnectionString Dim Conn As New SqlConnection(ConnString) Conn.Open()
Dim myCommand As SqlDataAdapter Dim strSql As String
If IsPostBack Then
Dim VarKategori As String = Kategorier.SelectedValue Dim VarKategoriSQL As String
If VarKategori = "11900" Then VarKategoriSQL = "AND VareGrp = 11900 Or VareGrp = 12100 Or VareGrp = 12199" ElseIf VarKategori = "12000" Then VarKategoriSQL = "AND VareGrp = 12000 Or VareGrp = 12200 Or VareGrp = 12300 Or VareGrp = 12399" ElseIf VarKategori = "12400" Then VarKategoriSQL = "AND VareGrp = 12400 Or VareGrp = 12500" ElseIf VarKategori = "12900" Then VarKategoriSQL = "AND VareGrp = 12900" ElseIf VarKategori = "13000" Then VarKategoriSQL = "AND VareGrp = 13000" ElseIf VarKategori = "14000" Then VarKategoriSQL = "AND VareGrp = 14000" ElseIf VarKategori = "15000" Then VarKategoriSQL = "AND VareGrp = 15000" ElseIf VarKategori = "16000" Then VarKategoriSQL = "AND VareGrp = 16000" ElseIf VarKategori = "17000" Then VarKategoriSQL = "AND VareGrp = 17000" ElseIf VarKategori = "12301" Then VarKategoriSQL = "AND VareGrp = 12301" ElseIf VarKategori = "999999" Then VarKategoriSQL = "" Else VarKategoriSQL = "" End If
Dim VarAktuelle As String = Ugenstilbud.SelectedValue Dim VarAktuelleSQL As String
If VarAktuelle = "Week1" Then VarAktuelleSQL = "AND (Stat = 'VF' OR Stat = 'V')" ElseIf VarAktuelle = "Week2" Then VarAktuelleSQL = "AND (Stat = 'LF' OR Stat = 'BF' OR Stat = 'FF' OR Stat = 'VF' OR Stat = 'TF' OR Stat = 'UF' OR Stat = 'B' OR Stat = 'L' OR Stat = 'F' OR Stat = 'V' OR Stat = 'T' OR Stat = 'U')" ElseIf VarAktuelle = "Week3" Then VarAktuelleSQL = "AND (Stat = 'UF' OR Stat = 'U')" ElseIf VarAktuelle = "Week4" Then VarAktuelleSQL = "AND (Stat = 'TF' OR Stat = 'T')" ElseIf VarAktuelle = "Week5" Then VarAktuelleSQL = "AND (Stat = 'BF' OR Stat = 'LF' OR Stat = 'FF' OR Stat = 'B' OR Stat = 'L' OR Stat = 'F')" Else VarAktuelleSQL = "" End If
strSql = "SELECT * FROM bla_temp where Godkendt = 'J' " & VarKategoriSQL & " " & VarAktuelleSQL & " " Else strSql = "SELECT * FROM bla_temp where Godkendt = 'J'"
End If
myCommand = New SqlDataAdapter(strSql, Conn) Dim ds As DataSet = New DataSet() myCommand.Fill(ds)
Dim ConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings("SiteConnectionString").ConnectionString Dim Conn As New SqlConnection(ConnString) Conn.Open()
Dim myCommandKategori As SqlCommand myCommandKategori = New SqlCommand("SELECT * FROM", Conn) Dim modeladapter As SqlDataAdapter = New SqlDataAdapter(myCommandKategori)
Dim dsmodel As DataSet = New DataSet() modeladapter.Fill(dsmodel) Kategorier.DataSource = dsmodel Kategorier.DataBind() Kategorier.Items.Insert(0, New ListItem("Vælg en produkt kategori", String.Empty)) Kategorier.SelectedIndex = 0 Conn.Close()
Hvis viewstate er disabled er din kontrol tom og så kendes værdien ikke før der igen er databundet - og er viewstate slået fra på et højere niveau end på kontrollen kan det være det ikke er nok at enable det på kontrollen.
onselectedindexchanged kører efter page_load og da du databinder her vil værdien være tilgængelig i efterfølgene events.
Et hurtigt alternativt fix kunne være at benytte Request.Form[dinkontrol.uniqueid] i stedet.
Den eneste reelle forskel er syntaks - men i min optik vil det selvfølgelig altid være interessant at finde ud af hvorfor noget ikke opfører sig som forventet og da vi ikke har fundet ud af det vil det være den negative konsekvens.
Hvis ingen af de to dropdowns laver postback men det sker fx i forbindelse med et click-event er du nødt til at håndtere "sidst ændrede" på klienten vha JavaScript og gemme fx kontrollens id i et hidden felt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.