【问题标题】:Compilation error for OnCheckedChanged event of checkbox复选框的 OnCheckedChanged 事件的编译错误
【发布时间】:2012-08-21 13:27:28
【问题描述】:

我的 aspx 页面中有复选框,后面的代码中有 oncheckedchanged 事件处理程序。 我的aspx页面如下

<div align="center">
    <table width="500px">
        <tr>
            <td>
                <fieldset id="fs1" runat="server">
                    <legend>Type </legend>
                    <table>
                        <tr>
                            <td>
                                <asp:CheckBox ID="CBNPatient" runat="server" Text="New Patient" OnCheckedChanged="CBNPatient_CheckedChanged" AutoPostBack="true" />
                            </td>
                            <td>
                                <asp:CheckBox ID="CBNPhPatient" runat="server" Text="New Patient By Phone" OnCheckedChanged="CBNPhPatient_CheckedChanged" AutoPostBack="true" />
                            </td>
                        </tr>
                        <tr>
                            <td colspan="2">
                                <fieldset id="fsAdd" runat="server" visible="false">
                                    <table>

在后面的代码中,复选框事件处理程序如下:

 protected void CBNPatient_CheckedChanged(object sender,EventArgs e  )
        {
            if (CBNPatient.Checked == true)
            {

                HtmlGenericControl fieldset = (HtmlGenericControl)Master.FindControl("fsAdd");
                fieldset.Visible = true;
                PatAdd = true;               

            }
            else
            {
                HtmlGenericControl fieldset = (HtmlGenericControl)Master.FindControl("fsAdd");
                fieldset.Visible = false;
                PatAdd = false;
            }

        }

        protected void CBNPhPatient_CheckedChanged(object sender, EventArgs e)
        {
            if (CBNPhPatient.Checked == true)
            {

                HtmlGenericControl fieldset = (HtmlGenericControl)Master.FindControl("fsAdd");
                fieldset.Visible = true;
                PhPatAdd = true;
            }
            else
            {
                HtmlGenericControl fieldset = (HtmlGenericControl)Master.FindControl("fsAdd");
                fieldset.Visible = false;
                PhPatAdd = false;
            }
        }

我收到如下编译错误:

“ASP.framepages_registration_raddock_aspx”不包含“CBNPatient_CheckedChanged”的定义,并且找不到接受“ASP.framepages_registration_raddock_aspx”类型的第一个参数的扩展方法“CBNPatient_CheckedChanged”(您是否缺少 using 指令或程序集引用? ) 复选框位于字段集中。这会导致任何问题吗?

请帮助我。 谢谢, 苏米亚

【问题讨论】:

  • 你好 Soumya 你在 System.Web 上添加了参考
  • @Soumya,你能发布你的页面指令部分吗?
  • 您最近添加了这些处理程序吗?您的标记可能已更改,但由于某种原因未重建代码隐藏。重建(必要时重新部署)整个项目。
  • 我的参考中有 System.web...
  • 请找到我的页面指令 在我使用命名空间 UnicareSystemWeb.FramePages.Registration { public partial class raddock : System.Web.UI.Page { 背后的代码

标签: c# asp.net-ajax


【解决方案1】:

看,这还不是一个完整的答案,但有一些事情你应该注意:

  1. 如果条件语句 (if) 中有布尔变量,则不必将它们与 truefalse 进行比较。简单地测试它们,比如if(CBNPatient.Checked)
  2. 查看您的代码,您正在执行相同的逻辑,只是将 bool 值 根据 更改为复选框的选择。这两种方法都可以大大简化为:

        HtmlGenericControl fieldset = (HtmlGenericControl)Master.FindControl("fsAdd");
        fieldset.Visible = CBNPatient.Checked;
        PatAdd = CBNPatient.Checked;
    

【讨论】:

    猜你喜欢
    • 2016-04-13
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2012-01-20
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多