2012-08-02 122 views
0

我有一個下拉列表,裏面存儲了3個元素。布爾值計算

<asp:DropDownList ID="DropDownList4" runat="server" AutoPostBack="True" 
       Height="22px" Width="134px"> 
       <asp:ListItem>Please Choose</asp:ListItem> 
       <asp:ListItem>Yes</asp:ListItem> 
       <asp:ListItem>No</asp:ListItem> 
      </asp:DropDownList> 

當用戶在下拉列表中選擇是時,YES將被存儲在會話中。司機服務將收取用戶30美元。

Session["IsChauffeurUsed"] = DropDownList4.SelectedItem.Selected; 

的事情是,如果用戶選擇是做什麼的電流量是用戶必須支付是

int totalValue = 0; 
    int total = 0; 
    totalValue = int.Parse(Session["price"].ToString()) * int.Parse(Session["day"].ToString()); 
    Label8.Text = totalValue.ToString(); 

* Label8.text會加30(如果用戶選擇yes)

我被困在粗線上。我不知道如何在totalValue中添加30,如果用戶選擇YES,我希望你們能幫助我。乾杯。

+1

你能改說你的問題嗎?目前還不清楚。 – 2012-08-02 07:07:00

+0

那麼你的問題是什麼? – Jeeva 2012-08-02 07:07:50

+1

如果'Session [「IsChauffeurUsed」]'等於「Y」,則將總值加上30,現在你在哪裏卡住? – V4Vendetta 2012-08-02 07:09:25

回答

1

儘管事實上,我覺得可怕的拿東西,叫ToString()就可以了,之後Type.Parse()這個字符串你可以解決問題如下:

totalValue = int.Parse(Session["price"].ToString()) * int.Parse(Session["day"].ToString()); 
totalValue += Session["IsChauffeurUsed"].ToString().Equals("yes", StringComparer.CurrentCultureIgnoreCase) ? 30 : 0; 
+0

嗨@Oliver,在應用您的代碼時出現此錯誤。成員'object.Equals(object,object)'不能被實例引用訪問;用類型名稱來代替它 – Stuck 2012-08-02 07:20:43

+0

@Stuck:必須是你的'Session'或其他東西。這個dummy不會引發任何錯誤:'int test =「test」.ToString()。Equals(「yes」,StringComparison.CurrentCultureIgnoreCase)? 30:0;' – Oliver 2012-08-02 07:26:46

+0

謝謝youuuuuu ..問題解決! – Stuck 2012-08-02 08:11:37

2

你必須檢查你的會話值(如果空需要添加複選),然後有條件地添加值

If (Session["IsChauffeurUsed"].ToString() == "Yes") 
     totalValue +=30 ; 
Label8.Text = totalValue.ToString();