c# - ASP.NET 复选框自动回发不起作用

标签 c# asp.net checkbox cross-page-postback

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

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

但是当我单击该复选框时,页面回发不起作用;它没有在页面上写页面已回发,并且该按钮仍处于禁用状态。

但是,如果我启用按钮并执行添加操作,它会调用页面回发并调用 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: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();
        }

关于c# - ASP.NET 复选框自动回发不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25017516/

相关文章:

android - 如何删除 Android 复选框的内部图像填充(顶部、左侧和底部)

javascript - 将数据属性与数组一起用于复选框输入

c# - C# 中的数组列表

c# - List 和 IEnumerable 之间的实际区别

c# - 使用 Visual Studio 的 Windows 窗体应用程序的安装项目中的输出文件允许的最大数据大小

c# - 如何过滤 asp.net core 项目上的列表

c# - asp.net 中的页面回发?

javascript - 选中复选框时更改表格列文本的颜色

c# - 如何使用 C# 通过 USB 将原始 ZPL 发送到 Zebra 打印机

c# - 如何在 ASP.NET C# 中发送电子邮件