webForumDet fria alternativet

Dropdown problem... Skumma

1 svar · 268 visningar · startad av Nson

NsonMedlem sedan juni 2001145 inlägg
#1

Hejsan!.

Har fått allvarliga problem med en kod snutt. Koden är hämtad från min registrerings sida där man först skall välja Land och sedan få upp en lisa med län/regioner. Allt fungerade strålande om man valde Sverige (som tidigare var det default värde för dropdownlist 'Land' om man i stället valde t ex Danmark, så blev värdet för regionen 'Region'.selectedItem.Value alltid det första i dropdownlistan. Oavsett vad man valde.

Jag fattar inte alls vad som är fel och behöver akut hjälp. Bifogar koden:

Public MustInherit Class register_step1
    Inherits System.Web.UI.UserControl
    Protected WithEvents idProfileType As System.Web.UI.WebControls.RadioButtonList
    Protected WithEvents idCountry As System.Web.UI.WebControls.DropDownList
    Protected WithEvents idLanguage As System.Web.UI.WebControls.DropDownList
    Protected WithEvents idCounty As System.Web.UI.WebControls.DropDownList
    Protected WithEvents idUser1Sex As System.Web.UI.WebControls.DropDownList
    Protected WithEvents idUser1Age As System.Web.UI.WebControls.TextBox
    Protected WithEvents idUser2Sex As System.Web.UI.WebControls.DropDownList
    Protected WithEvents idUser2Age As System.Web.UI.WebControls.TextBox
    Protected WithEvents txtUser2Sex As System.Web.UI.WebControls.Label
    Protected WithEvents txtUser2Age As System.Web.UI.WebControls.Label
    Protected WithEvents idCheckBox As System.Web.UI.WebControls.CheckBox
    Protected WithEvents idLogin As System.Web.UI.WebControls.TextBox
    Protected WithEvents idPassword As System.Web.UI.WebControls.TextBox
    Protected WithEvents idValidPassword As System.Web.UI.WebControls.TextBox
    Protected WithEvents rfUserName As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents rfPassword As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents cpPassword As System.Web.UI.WebControls.CompareValidator
    Protected WithEvents evUser1Age As System.Web.UI.WebControls.RegularExpressionValidator
    Protected WithEvents evUser2Age As System.Web.UI.WebControls.RegularExpressionValidator
    Protected WithEvents RegularExpressionValidator1 As System.Web.UI.WebControls.RegularExpressionValidator
    Protected WithEvents RegularExpressionValidator2 As System.Web.UI.WebControls.RegularExpressionValidator
    Protected WithEvents idEmail As System.Web.UI.WebControls.TextBox
    Protected WithEvents rfEmail As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents evEmail As System.Web.UI.WebControls.RegularExpressionValidator
    Protected WithEvents error1 As System.Web.UI.WebControls.Label
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        If Not IsPostBack Then
            DoBind()
            idCounty.Items.Add("Välj först land")
            idLanguage.Items.Add("Välj först land")
            idCountry.Items.Insert(0, "Välj land")
        End If
    End Sub

    Sub DoBind()
        'Fyll dom första drop down listorna med värden.
        Dim myCmd As New Portal.Signup()
        idCountry.DataSource = myCmd.PopulateidCountry
        idCountry.DataTextField = "ItemText"
        idCountry.DataValueField = "Country"
        idCountry.DataBind()

        idUser1Sex.DataSource = myCmd.PopulateidSex
        idUser1Sex.DataTextField = "ItemText"
        idUser1Sex.DataValueField = "ItemId"
        idUser1Sex.DataBind()

        idUser2Sex.DataSource = myCmd.PopulateidSex
        idUser2Sex.DataTextField = "ItemText"
        idUser2Sex.DataValueField = "ItemId"
        idUser2Sex.DataBind()
    End Sub

    Sub idCountry_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles idCountry.SelectedIndexChanged

        Dim myCmd As New Portal.Signup()

        idLanguage.Items.Clear()
        idLanguage.DataSource = myCmd.PopulateidLanguage(idCountry.SelectedItem.Value)
        idLanguage.DataTextField = "ItemText"
        idLanguage.DataValueField = "ItemId"
        idLanguage.DataBind()

        idCounty.Items.Clear()
        idCounty.DataSource = myCmd.PopulateidCounty(idCountry.SelectedItem.Value)
        idCounty.DataTextField = "ItemText"
        idCounty.DataValueField = "ItemId"
        idCounty.DataBind()

    End Sub

    Sub idProfileType_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If idProfileType.SelectedItem.Value = "2" Then
            txtUser2Sex.Text = "Din partners kön:"
            txtUser2Age.Text = "Din partners födelsedatum: (ex 1974-09-07)"
            txtUser2Sex.Visible = True
            txtUser2Age.Visible = True
            idUser2Sex.Visible = True
            idUser2Age.Visible = True
            evUser2Age.Enabled = True
        Else
            txtUser2Sex.Visible = False
            txtUser2Age.Visible = False
            idUser2Sex.Visible = False
            idUser2Age.Visible = False
        End If

    End Sub

    Private Sub idCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles idCheckBox.CheckedChanged
        If idCheckBox.Checked = False Then
            Button1.Enabled = False
        Else
            Button1.Enabled = True
        End If

    End Sub

    Function CreateCode() As String

        Dim n As String
        Dim s As String
        Dim cpt As Integer

        For cpt = 1 To 15
            n = 0
            Do While ((n <= 63) Or (n >= 91)) And ((n <= 96) Or (n >= 123))
                n = Int(Rnd() * 126)
            Loop
            s = s + Chr(n)
        Next
        Return s
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Code As String
        Code = CreateCode()
        Dim myCmd As New Portal.Signup()
        Dim id As String
        'id = myCmd.CreateLogin(idLogin.Text, idPassword.Text, idEmail.Text, Request.Form("idCountry"), Request.Form("idCounty"), Request.Form("idLanguage"), idProfileType.SelectedItem.Value.ToString, idUser1Sex.SelectedItem.Value.ToString, idUser2Sex.SelectedItem.Value.ToString, idUser1Age.Text.ToString, idUser2Age.Text.ToString, Code)
        'If id <> "" Then
        'Response.Redirect("/r4/start.aspx?page=register.step2&id=" + id)
        Response.Write(idCounty.SelectedItem.Value.ToString)
        'End If
        'error1.Text = "<b>Det inträffade ett fel</b><br>Användarnamn eller epost adress är redan registerat. Välj ett annant namn"
        'error1.Visible = True
    End Sub
End Class

Koden i aspx sidan (Klippt till det som är relaterat till funktionen)

			Land:<BR>
				<asp:dropdownlist id="idCountry" runat="server" Width="250px" CssClass="Listbox" AutoPostBack="True" OnSelectedIndexChanged="idCountry_SelectedIndexChanged"></asp:dropdownlist><BR>
				<BR>
				Språk:<BR>
				<asp:dropdownlist id="idLanguage" runat="server" Width="250px" CssClass="Listbox"></asp:dropdownlist><BR>
				<BR>
				Län/Region:<BR>
				<asp:dropdownlist id="idCounty" runat="server" Width="250px" CssClass="Listbox" OnSelectedIndexChanged="idCountry_SelectedIndexChanged"></asp:dropdownlist><BR>
NsonMedlem sedan juni 2001145 inlägg
#2

Klant Nson. Såg att jag anropade OnSelectedIndexChanged="idCountry_SelectedIndexChanged" på två ställen. I bland behövs det att man postar här innan man hittar sina egna buggar ;)

136 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)