namespace ServerControl1
{   
    /*public class MessageBox{
      public static void Show(string msg)
      {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + msg + "')</script>");
      }
    }*/
    //创建服务器控件 
    [DefaultProperty("Text")]
    [ToolboxData("<{0}:ServerControl1 runat=server></{0}:ServerControl1>")]    public class ServerControl1 : WebControl
    {
        public TextBox NameTextBox = new TextBox();//创建 TextBox 控件 
        public TextBox PasswordTextBox = new TextBox();//创建密码控件 
        public Button LoginButton = new Button();//创建 Button 控件         public ServerControl1()
        {
            LoginButton.Text = "确定?";
            LoginButton.Enabled = true;
            LoginButton.Click += new System.EventHandler(this.Submit_Click);
            //LoginButton.Attributes.Add("OnClick", "confirm('是否提交??');");
        }        public event EventHandler LoginClick;//声明事件 
 
        
        protected override void RenderContents(HtmlTextWriter output)
        { 
            output.RenderBeginTag(HtmlTextWriterTag.Tr); 
            LoginButton.RenderControl(output);
        }         public void Submit_Click(object sender, EventArgs e) 
        { 
            EventArgs arg = new EventArgs();
            if (LoginClick != null) 
            {
                LoginClick(LoginButton, arg); 
            } 
        } 
}我把该控件放到一个aspx页面,但是Submit_Click并不响应,断点也进不去,别的函数都可以,请问原因,我在
LoginButton.Click += new System.EventHandler(this.Submit_Click);
也注册了。谢谢

解决方案 »

  1.   

    public TextBox NameTextBox = new TextBox();//创建 TextBox 控件  
      public TextBox PasswordTextBox = new TextBox();//创建密码控件  
      public Button LoginButton = new Button();//创建 Button 控件  ???
    直接用usercontrol就好了,为何用servercontrol?
      

  2.   

    你这样做不是把简单问题复杂化吗
    servercontrol一般是用作对某一标准控件的进一步扩展,比如gridview
    是对更底层的控件的封装
    而不是简单地把某几个标准控件组合在一起当然,你真要这样做也可以,lz可google一下复合控件
      

  3.   

    可参考微软的sample
    http://msdn.microsoft.com/zh-cn/library/aa479016.aspx
      

  4.   

    您没明白我的意思,我以前是弄C++的,最近闲来无事,学一学c#,看到书上的例子就是这么写的,就照猫画虎写了一个,但是结果却和树上的不一样。写这个代码不是为了解决某类实际问题,只是为了了解C#