否则如果语句基于用户之前的选择

时间:2013-03-07 20:07:39

标签: c# asp.net html

我有一个.aspx文件,我有代码,这里是用户选择下拉选项的代码:

<td align="right">PI Organization: </td>
<td>
     <asp:DropDownList ID="ddlOrg" runat="server" TabIndex="9" AutoPostBack="True" 
                    onselectedindexchanged="ddlOrg_SelectedIndexChanged">
         <asp:ListItem Value="none">(Select One)</asp:ListItem>
         <asp:ListItem>University of Fun</asp:ListItem>
         <asp:ListItem>UOFF</asp:ListItem>
         <asp:ListItem>Other</asp:ListItem>
     </asp:DropDownList>
</td>

如果用户选择UOFF的乐趣大学,那么我需要在其下面使用if语句,如果用户选择其他则为50美元

这就是我所拥有的:

if(ddOrg="University of Fun"){
    fee = $40;
}
else {(ddlOrg="UOFF"){
    fee = $40;
}
else {ddOrg="Other"){
    fee = $50;
}

2 个答案:

答案 0 :(得分:0)

首先,如果您想在用户提交之前显示客户端通知,我建议删除AutoPostBack =“true”。

我还建议对每个列表项使用一个值,例如:

<asp:DropDownList ID="ddlOrg" runat="server" TabIndex="9" >
     <asp:ListItem Value="0">(Select One)</asp:ListItem>
     <asp:ListItem Value="1">University of Fun</asp:ListItem>
     <asp:ListItem Value="2">UOFF</asp:ListItem>
     <asp:ListItem Value="3">Other</asp:ListItem>
 </asp:DropDownList>

然后,您可以使用jQuery / javascript显示消息,具体取决于用户的选择。

在.aspx视图中,您可以使用以下内容:

<%--Reference jQuery--%>
<script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script>

<script type="text/javascript" >
     $(document).ready(function(){
         $("#<%=ddlOrg.ClientID %>").change(function() {
             var selectedValue = parseInt($(this).val());

             //add extra logic for your options
             if (selectedValue === 1) {

                 //set the text to display
                 $("#priceNotice").html("$40");
             });
         });
     });
</script>

<span id="priceNotice"></span>

如果用户选择“娱乐大学”,这将导致“40美元”显示在范围内。您可以修改代码以满足其他选项。

答案 1 :(得分:0)

您需要使用等于运算符(==)而不是赋值运算符。此外,您的前两个案例可以压缩为一个。

 if(ddOrg == "University of Fun" || ddlOrg == "UOFF"){
    fee = $40;
} else {
    fee = $50;
}

此外,你有一些错位的括号,并且不需要使用else的条件。如果确实需要条件,则必须使用elseif而不是else。这对于所有其他情况基本上都是有意义的,所以它没有条件,如果没有满足先前的条件,它就会退回。 ||是逻辑运算符或。由于if中两个条件的费用均为40美元,因此您可以if ( conditionOne OR conditionTwo)使代码更具可读性。