MSDN中的例子:
Pagelet2.aspx 文件:
<%@ Register TagPrefix="Acme" TagName="Message" Src="pagelet2.ascx" %><html>  <script language="C#" runat="server">      void SubmitBtn_Click(Object sender, EventArgs E) {
          MyMessage.Text = "Message text changed!";
          MyMessage.Color = "red";
      }  </script><body style="font: 10pt verdana">  <h3>A Simple User Control w/ Properties</h3>  <form runat="server">    <Acme:Message id="MyMessage" Text="This is a custom message!" Color="blue" runat="server"/>    <p>    <asp:button text="Change Properties" OnClick="SubmitBtn_Click" runat=server/>  </form></body>
</html>Pagelet2.ascx 文件:
<script language="C#" runat="server">  public String Color = "blue";
  public String Text = "This is a simple message user control!";</script><span id="Message" style="color:<%=Color%>"><%=Text%></span>编译错误:
编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0117: “ASP.WebUserControl1_ascx”并不包含对“Text”的定义源错误: 行 8:  
行 9:        void SubmitBtn_Click(Object sender, EventArgs E) {
行 10:           MyMessage.Text = "Message text changed!";
行 11:           MyMessage.Color = "red";
行 12:       }
 源文件: http://localhost/Pagelet1/WebForm1.aspx    行: 10 请指点!谢谢!

解决方案 »

  1.   

    参考<% @ Control Language="C#" ClassName="Spinner" %><script runat="server">
    private int m_minValue;
    private int m_maxValue = 100;
    private int m_currentNumber = 0;
    public int MinValue
    {
        get
        {
            return m_minValue;
        }
        set
        {
            if(value >= this.MaxValue)
            {    
                throw new Exception("MinValue must be less than MaxValue.");
            }
            else
            {
                m_minValue = value;
            }
        }
    }public int MaxValue
    {
        get
        {
            return m_maxValue;
        }
        set
        {
            if(value <= this.MinValue)
            {
                throw new 
                    Exception("MaxValue must be greater than MinValue.");
            }
            else
            {
                m_maxValue = value;
            }
        }
    }public int CurrentNumber
    {
        get
        {
            return m_currentNumber;
        }
    }protected void Page_Load(Object sender, EventArgs e)
    {
        if(IsPostBack)
        {
            m_currentNumber =
                Int16.Parse(ViewState["currentNumber"].ToString());
        }
        else
        {
            m_currentNumber = this.MinValue;
        }
        DisplayNumber();
    }protected void DisplayNumber()
    {
        textNumber.Text = this.CurrentNumber.ToString();
        ViewState["currentNumber"] = this.CurrentNumber.ToString();
    }protected void buttonUp_Click(Object sender, EventArgs e)
    {
        if(m_currentNumber == this.MaxValue)
        {
            m_currentNumber = this.MinValue;
        }
        else
        {
            m_currentNumber += 1;
        }
        DisplayNumber();
    }protected void buttonDown_Click(Object sender, EventArgs e)
    {
        if(m_currentNumber == this.MinValue)
        {
            m_currentNumber = this.MaxValue;
        }
        else
        {
            m_currentNumber -= 1;
        }
        DisplayNumber();
    }
    </script>
    <asp:TextBox ID="textNumber" runat="server" 
        ReadOnly="True" Width="32px" Enabled="False" />
    <asp:Button Font-Bold="True" ID="buttonUp" runat="server"  
        Text="^" OnClick="buttonUp_Click" />
    <asp:Button Font-Bold="True" ID="buttonDown" runat="server" 
        Text="v" OnClick="buttonDown_Click" />
    然后:
    <uc:Spinner ID="Spinner1" runat="server" MinValue=0 MaxValue=10 />