<script runat="server">
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (this.CheckBox1.Checked != true)
        {
            Label1.Visible = true;
            Label1.Text = "必须同意本网站使用协议才能注册!";
        }
        else
        {
            Label1.Visible = false;
        }
    }</script>
上面这段代码,当放在.aspx页面中时,可以正确执行,但是修改下
    protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (this.CheckBox1.Checked != true)
        {
            Label1.Visible = true;
            Label1.Text = "必须同意本网站使用协议才能注册!";
        }
        else
        {
            Label1.Visible = false;
        }
    }
当把这段代码放在.asp.cs页面中时,却执行错误,错误如下:
“registerpage”不包含“CheckBox1”的定义,并且找不到可接受类型为“registerpage”的第一个参数的扩展方法“CheckBox1”(是否缺少 using 指令或程序集引用?)  当前上下文中不存在名称“Label1”
请问各位前辈这个什么问题啊?MSDN上也没用说明。
这类问题困扰我很久,哪位前辈可以给我解释下啊?谢谢前辈们了

解决方案 »

  1.   

    看看你的registerpage HTML页面上,有没有ID分别为CheckBox1,Label1的runat="server"控件
      

  2.   

    剪切,在复制,试试,visalstudio经常出现这种错误! 
      

  3.   

    回1楼,那两个控件当然有的啊,代码放在HTML页面可以正确执行的
    回2楼,脚本控制室怎么写呢?我还不懂JavaScript语言,可以帮我改写一下吗?谢谢啦
    回3楼,控件名称是一样的,命名空间的话..我感觉只多不少..
    回4楼,剪切,复制,粘贴,试过好多次了,唉..我再去试试
      

  4.   

    看.aspx 页的 Codebehind 和 Inherits
      

  5.   

    回6楼,那个也没有问题,Button控件的click事件处理程序都没有问题,可以正常运行的
      

  6.   

    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.SqlClient;
    using System.Web.Configuration;public partial class registerpage : System.Web.UI.Page
    {
        protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (this.CheckBox1.Checked != true)
            {
                Label1.Visible = true;
                Label1.Text = "您必须同意本网站服务使用协议才能注册!";
            }
            else
            {
                Label1.Visible = false;
            }
        }
    }
    红色部分是提示出问题的,问题提示内容是
    “registerpage”不包含“CheckBox1”的定义,并且找不到可接受类型为“registerpage”的第一个参数的扩展方法“CheckBox1”(是否缺少 using 指令或程序集引用?) 当前上下文中不存在名称“Label1”
    唉,搞不懂了
      

  7.   

    如果都没问题的话 你将 aspx页面的Label控件删除 然后重新创建一下
      

  8.   

    还是检查下runat=server   或者  把你HTML里面控件ID,NAME  是否 一致,或者在不行就用#12楼的方法
      

  9.   

    谢谢各位!
    我的控件都是直接拖动的,runat属性应该不会有问题,我刚又重新创建了一遍,
    还是一样悲剧...
      

  10.   

    在designer.cs文件中强制添加上
    protected global::System.Web.UI.WebControls.Lable Label1;
      

  11.   

    如是你的项目创建的是web应用程序项目而不是网站项目,那新建一个页面除了有.aspx.cs外还有一个注册控件的类.aspx.desginer.cs,这两个都是部分类,其实合起来就是一个类了。
    如果是这样的,你就在.aspx.desginer.cs类里注册下控件吧。
      

  12.   

    这个是Default.aspx文件里的<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>这个是Default.aspx.cs文件里的public partial class _Default : System.Web.UI.Page从上面可以看到使用的代码隐藏技术
      

  13.   

    这个我不是很明白怎么用,添加进我的注册页面registerpage.aspx.cs试过,也试过重建个
    designer.cs文件添加进去,貌似都不行啊,崩溃了,不知道是不是我VS程序的问题?