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>