2016-09-26 3 views
0

Ich bin ein Anfänger in ASP.Net und ich habe derzeit Probleme zu versuchen, die Mechanik der Verwendung der Dropdown-Liste zu verstehen.Fall auswählen und Drop-Down-Box

Mein Problem ist ich versuche, einen Select Case Ausdruck zu verwenden, wo ich eine Variable namens value erstellen, die gleich meiner Dropdown-Liste gesetzt ist. Aus dem Blick auf die Beispiele, die ich im Internet gefunden habe, verstehe ich die Logik, wie man die Aussage aufstellt, ich verstehe gerade nicht, wie man die Einzelteile in meinem Drop-Down-Kasten der value Variable für die Aussage zuordnet. Dies wäre eine große Hilfe sein, denn auch in der Select Case Anweisung gibt andere Dropdown-Listen sind, die verschiedenen konstante Werte für jedes Element auf der Basis der Benutzerauswahl des ersten Dropdown-Feldes

Partial Class _Default 
    Inherits System.Web.UI.Page 

    Protected Sub CalculateButton_Click(sender As Object, e As EventArgs) Handles CalculateButton.Click 
     Dim value As String = AirlineDropDown.SelectedValue 
     Dim BagValue As String = NumBagsDropDown.SelectedValue 
     Dim OvWBagValue As String = OverweightDropdown.SelectedValue 
     Dim Total, Bagtotal, OvWBagTotal, DamagePro As Double 
     DamagePro = 12.0 

     Select Case value 
      Case Airtran 
       ' set Constant values to Bagvalues and OvWBagValues based on user selection 
     End Select 

     Total = Bagtotal + OvWBagTotal + DamagePro 
     TotalTextbox.Text = FormatNumber(Total, 2) 
    End Sub 

    Protected Sub ClearButton_Click(sender As Object, e As EventArgs) Handles ClearButton.Click 
     TotalTextbox.Text = "" 
    End Sub 
End Class 

Image of my webpage

halten sollte Bitte

Antwort

0

Sie auf dem richtigen Weg sind, müssen Sie nur Wert auf Strings vergleichen. Die Verwendung des Wortes Airtran allein würde niemals wahr werden, es sei denn, es wäre Teil eines Airline-Enums oder so. Die Kosten für Airtrans Taschengebühr müssen ebenfalls mit der Anzahl der Taschen multipliziert werden, die der Benutzer auswählt. Daher habe ich das im folgenden Beispiel hinzugefügt (BagValue muss auch in eine Ganzzahl konvertiert werden, um Multiplikationen durchzuführen). Schließlich, wenn Strings zu vergleichen, neige ich meinen String-Vergleiche wie Groß- und Kleinschreibung zu machen, so würde ich die select-Fall wie diesem Griff:

'Converting the number of bags into an integer 
Dim BagValue As Integer = CInt(NumBagsDropDown.SelectedValue) 
Dim OvWBagValue As Integer = CInt(OverweightDropdown.SelectedValue) 

Select Case True 
    Case value.ToUpper.Equals("AIRTRAN") 
     Bagtotal = 15 * BagValue   '15, or whatever airtran's bag fee is 
     OvWBagTotal = 20 * OvWBagValue 'also made this number up 
    'etc 
End Select 

Da auch DamagePro eine Checkbox ist, würden Sie nur hinzufügen möchten die 12, wenn es aktiviert ist, wird Ihr Code derzeit unabhängig von seinem aktivierten Status hinzufügen. Das wäre ungefähr so ​​aussehen:

Total = Bagtotal + OvWBagTotal 
If DamageProChkBox.Checked Then Total += DamagePro 
TotalTextbox.Text = FormatNumber(Total, 2) 

Kommentar bearbeiten: Sie haben nicht eine Select-Case-Anweisung für die Anzahl der Säcke benötigen, sollten Sie in der Lage sein, die aus der Dropdownlist abzurufen. Beispiel: {Text = "1 überladene Tasche", Wert = "1"}, {Text = "2 überladene Taschen", Wert = "2"}. Da sowohl normale Taschen als auch Übergewichtige eigene Dropdown-Listen haben, können Sie für jede Art von Tasche von jedem von ihnen zählen. Drop-down-Listen funktionieren bereits wie vorgefertigte Select-Case-Anweisungen, da sie abhängig von der Auswahl des Benutzers unterschiedliche Werte liefern, wenn sie ihren "SelectedValue" abrufen, so dass keine weiteren Select-Case-Anweisungen benötigt werden abgerufener Wert Der Select-Fall würde in Ihrem Fall hauptsächlich für die Gesamtberechnung verwendet werden; Dies bedeutet, dass Sie verschiedene Dollar-Werte für die Taschengebühren verschiedener Fluggesellschaften haben können.

+0

Wow Vielen Dank !!! Also kann ich BagWert und OvWbagWert machen, was du mit Value.ToUpper.Equals gemacht hast, da sie auch Strings in ihrer eigenen Drop-Down-Liste sind und wenn ja, gibt es nur drei Items (1,2, oder 3 Taschen) Auf beiden Listen, also kann ich einfach eine verschachtelte Aussage für die drei Optionen machen? – AH5811

+0

Hinzugefügt Antwort auf den Beitrag, es war zu lang, um als Kommentar zu passen – soohoonigan

0

Zeichenfolge verwenden hier

Select Case value 
    Case value 
      ' set Constant values to Bagvalues and OvWBagValues based on user selection 
End Select