ASP.. NET复选框自动回退不起作用

本文关键字:回退 不起作用 NET 复选框 ASP | 更新日期: 2023-09-27 18:15:20

我设计了一个简单的页面,有两个文本框,一个复选框,一个按钮和一个标签。

当我开始我想检查复选框使按钮启用,然后在两个文本框中输入两个数字,单击按钮进行添加,并在标签中显示结果。

但是当我点击复选框页面回发不工作;它没有写页面被张贴回页面上,按钮仍然被禁用。

但是,如果我启用按钮并进行添加,它将调用页面回发并调用checkedchanged方法。

<asp:TextBox ID="txtFirst" runat="server"></asp:TextBox>
<asp:TextBox ID="txtSecond" runat="server"></asp:TextBox>
<asp:Label ID="result" runat="server"></asp:Label>
<td>
    <asp:CheckBox ID="cboptions" runat="server" AutoPostBack="True"   
        onCheckedChanged="cboptions_CheckedChanged" />
</td>
<asp:Button ID="submit" runat="server" Text ="addition" onclick="Button_Click"/>
代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (Page.IsPostBack == true)
    {
        Response.Write("Page is posted back");
    }
}
protected void cboptions_CheckedChanged(object sender, EventArgs e)
{
    submit.Enabled = cboptions.Checked;
}
protected void submit_Click(object sender, EventArgs e)
{
    int a = Convert.ToInt32(txtFirst.Text);
    int b = Convert.ToInt32(txtSecond.Text)+a;
    result.Text = b.ToString();
}

ASP.. NET复选框自动回退不起作用

你的代码中有很多格式化错误,请这样做

Aspx

 <asp:TextBox ID="txtFirst" runat="server"></asp:TextBox>
<asp:TextBox ID="txtSecond" runat="server"></asp:TextBox>
<asp:Label ID="result" runat="server"></asp:Label>
<asp:CheckBox ID="cboptions" runat="server" AutoPostBack="True" 
  onCheckedChanged="cboptions_CheckedChanged" />
<asp:Button ID="btn" runat="server" Text ="addition" onclick="Button_Click"/>
c#

 protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == true)
            {
                Response.Write("Page is posted back");
            }
        }
        protected void cboptions_CheckedChanged(object sender, EventArgs e)
        {
            btn.Enabled = cboptions.Checked;
        }
        protected void Button_Click(object sender, EventArgs e)
        {
            int a = Convert.ToInt32(txtFirst.Text);
            int b = Convert.ToInt32(txtSecond.Text) + a;
            result.Text = b.ToString();
        }