2016-09-26 67 views
0

我是ASP.Net的初學者,我目前在嘗試理解使用下拉列表的機制時遇到問題。select case and drop downbox

我的問題是我想使用一個Select Case表達式,其中我創建了一個名爲value的變量,該變量等於我的下拉列表。從查看我在互聯網上找到的示例,我瞭解如何設置聲明的邏輯,我只是​​不理解如何將我的下拉框中的項目分配給聲明的value變量。這將是一個巨大的幫助,因爲也是在Select Case聲明存在應基於第一下拉框中

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

的用戶選擇的每個項目持有不同的恆定值的其他下拉列表

回答

0

你在正確的軌道上,你只需要值比較字符串。單獨使用Airtran這個詞將永遠不會返回真實的,除非它是航空公司枚舉或其他東西的一部分。 Airtran的行李費用也需要乘以用戶選擇的行李數量,所以我在下面的例子中添加了這個例子(BagValue也必須轉換爲一個整數來執行乘法)。最後,比較字符串時,我往往喜歡讓我的字符串比較不區分大小寫的,所以我會處理的選擇情況是這樣的:

'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 

而且,由於DamagePro是一個複選框,你只需要添加如果選中了12,當前你的代碼將會添加它,而不管它的檢查狀態如何。這看起來是這樣的:

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

評論編輯:您不需要選擇-case語句的袋數,你應該能夠檢索那些從下拉列表。例如,{Text =「1 Overweight Bag」,Value =「1」},{Text =「2 Overweight Bags」,Value =「2」}。由於普通袋子和超重袋子都有自己獨立的下拉列表,因此每種袋子都可以獲得數量。 Dropdownlists已經像預構建的select-case語句一樣工作了,因爲根據用戶的選擇,當你檢索他們的「SelectedValue」時,它們會爲你提供不同的值,所以不需要使用更多的select-case語句來獲得它們檢索值。在你的情況下,選擇案例主要用於總計算;這意味着它允許您爲不同航空公司的行李費用擁有不同的美元價值。

+0

哇謝謝你太多了!所以我可以做同樣的事情BagValue和你使用Value.ToUpper.Equals做的OvWbagvalue,因爲它們也是自己的下拉列表中的字符串,如果有的話,只有三件物品(1,2或3包)在這兩個列表中,我可以爲三個選項做一個嵌套語句嗎? – AH5811

+0

新增了對該帖子的回覆,這段時間太長,無法作爲評論 – soohoonigan

0

請使用字符串這裏

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