2012-08-02 124 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();