mypage.aspx 文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="mypage.aspx.cs" Inherits="mypage" %>
<html>
 <body>
 <form id="form1" runat="server">
  <asp:Label ID="Message" runat="server"></asp:Label>
 </form>
 </body>
</html>
mypage.aspx.cs 文件:
using System;
.
.public partial class mypage: System.Web.UI.Page
{
  protected System.Web.UI.WebControls.Label Message; //就是这里。提示,类mypage已经包含了Message的定义  protected void Page_Load(object sender, EventArgs e)
  {
    Message.Text = "XXX";
  }
}
请问,我记得在页面(aspx)里使用的控件在代码页中(cs)不是要定义(像这样:protected System.Web.UI.WebControls.Label Message;)才能访问的吗?怎么变成重复定义了?请指教

解决方案 »

  1.   

    你现在的定义不正是protected吗?
    你改成private System.Web.UI.WebControls.Label Message; //就是这里。提示,类mypage已经包含了Message的定义
    这样试试
      

  2.   

    不行啊,private 和 protected 在这里的作用域是一样的。
      

  3.   

    在asp.net2.0 里面不需要申明就可以直接使用控件
      

  4.   

    你用的应该是.net2005,是不需要自己定义服务器控件的。在Default.aspx.designer.cs里已经有了