使用C#addbutton命令使用asp创建dropdownlist

使用C#addbutton命令使用asp创建dropdownlist,c#,asp.net,C#,Asp.net,我正在尝试用asp创建一个下拉列表。一旦用户点击下拉列表,他应该能够选择加号或减号。由于某种原因,代码不起作用。有人能告诉我发生了什么事吗 文本框示例 <script src="Scripts/jquery-1.10.2.js"></script> <script src="Scripts/jquery.validate.min.js"></script> <script src="Scripts/jquery.val

我正在尝试用asp创建一个下拉列表。一旦用户点击下拉列表,他应该能够选择加号或减号。由于某种原因,代码不起作用。有人能告诉我发生了什么事吗

文本框示例

<script src="Scripts/jquery-1.10.2.js"></script>

    <script src="Scripts/jquery.validate.min.js"></script>
    <script src="Scripts/jquery.validate.js"></script>
    <script src="Scripts/jquery.validate.unobtrusive.js"></script>
    <script src="Scripts/jquery.validate.unobtrusive.min.js"></script>

    <script runat="server">
        protected void AddButton_Click(Object sender, EventArgs e)
        {
            int Answer;
            if(DropDownList1.SelectedItem.Text == "+")

                     {Answer = Convert.ToInt32(Value1.Text) + Convert.ToInt32(Value2.Text);
                     AnswerMessage.Text = Answer.ToString();}

            else if (DropDownList1.SelectedItem.Text == "-")
                   {
                    Answer = Convert.ToInt32(Value1.Text) - Convert.ToInt32(Value2.Text);
                    AnswerMessage.Text = Answer.ToString();
                   }


        }
    </script>
</head>
<body>
  <form id="form1" runat="server">
    <h3> TextBox Example </h3>
    <p>
        <asp:TextBox ID="Value1" Columns="2" MaxLength="3" Text="1" runat="server"/>
        +<select id="Select1">
            <option></option>

            </select>
            <asp:DropDownList ID="DropDownList1" runat="server">

               <asp:ListItem Text="Default text" Value="Default value" />
                 <asp:ListItem Text="+"  > +   </asp:ListItem>
                 <asp:ListItem  Text="-"  > - </asp:ListItem>


            </asp:DropDownList>


        <asp:TextBox ID="Value2" Columns="2" MaxLength="3" Text="1" runat="server"/>
        =
        <asp:Label ID="AnswerMessage" runat="server"/>
    </p>
    <p>
        <asp:Button ID="AddButton" Text="Add" OnClick="AddButton_Click" runat="server"/>
    </p>
    <p>
        <asp:RequiredFieldValidator ID="Value1RequiredValidator" ControlToValidate="Value1"
             ErrorMessage="Please enter a value.<br />" Display="Dynamic"
             runat="server"/>
        <asp:RequiredFieldValidator ID="Value2RequiredValidator" ControlToValidate="Value2"
             ErrorMessage="Please enter a value.<br />" Display="Dynamic"
             runat="server"/>
        <asp:RangeValidator ID="Value1RangeValidator" ControlToValidate="Value1"
             Type="Integer" MinimumValue="1" MaximumValue="100" Display="Dynamic"
             ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"
             runat="server"/>
        <asp:RangeValidator ID="Value2RangeValidator" ControlToValidate="Value2"
             Type="Integer" MinimumValue="1" MaximumValue="100" Display="Dynamic"
             ErrorMessage="Please enter an integer <br /> between than 1 and 100.<br />"    
             runat="server"/>
    </p>

      <asp:scriptmanager id="ScriptManager1" runat="server"/>


  </form>
</body>
</html>

受保护的void AddButton\u单击(对象发送者,事件参数e)
{
int答案;
如果(DropDownList1.SelectedItem.Text==“+”)
{Answer=Convert.ToInt32(Value1.Text)+Convert.ToInt32(Value2.Text);
AnswerMessage.Text=Answer.ToString();}
else if(DropDownList1.SelectedItem.Text==“-”)
{
答案=Convert.ToInt32(Value1.Text)-Convert.ToInt32(Value2.Text);
AnswerMessage.Text=Answer.ToString();
}
}
文本框示例

+
+   
- 
=


有两个问题

  • 您的HTML格式不正确,下拉列表应在选择标记之外
  • 
    
  • 将+和-符号设置为ListItem的文本属性

  • 按钮单击事件中的If语句应具有“=”运算符,而不是“=”


  • if语句应该有“==”,也就是说您的if语句应该读为“if(DropDownList1.SelectedItem.Text==”+”),好的,我已经做了更改,但程序仍然无法运行,出于某种原因,代码将无法到达if块的内部。您是否调试并查看了“DropDownList1.SelectedItem.Text”的值?如果是,是什么?
    <select id="Select1">
       <option></option>
     </select>
    
     <asp:DropDownList ID="DropDownList1" runat="server">
          <asp:ListItem Text="Default text" Value="Default value" />
          <asp:ListItem text="+"></asp:ListItem>
          <asp:ListItem text ="-"></asp:ListItem>
     </asp:DropDownList>