用户控件为什么会被执行两次?(高手指教)

今天临时调到一个项目组开发几个用户控件,遇到了这样一个问题,哪位高手指教!
调用页面(WebForm1.aspx):
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<div id="div" runat="server"></div>
        
</form>
    
</body>
调用页面后台代码(WebForm1.apsx.cs):
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            if(!this.IsPostBack) {
                
this.div.Controls.Add(new WebUserControl1());
            }

        }
用户自定义控件前台页面(WebUserControl1.ascx):无
用户自定义控件前台页面(WebUserControl1.ascx.cs):无
namespace Test
{
    
using System;
    
using System.Data;
    
using System.Drawing;
    
using System.Web;
    
using System.Web.UI.WebControls;
    
using System.Web.UI.HtmlControls;

    
/// <summary>
    
///        WebUserControl1 的摘要说明。
    
/// </summary>

    public class WebUserControl1 : System.Web.UI.UserControl
    
{

        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// 在此处放置用户代码以初始化页面
            if(!this.IsPostBack) {
                Label lbl
=new Label();
                Button btn
=new Button();
                lbl.Text
="<input type=radio name=radioChiose value=radio1 runat=server Checked>radio1<input type=radio name=radioChiose value=radio2 runat=server>radio2";
                btn.Click
+=new EventHandler(this.btnSubmit_Click);
                btn.Text
="submit";
                
this.Controls.Add(lbl);
                
this.Controls.Add(btn);
            }

        }


        
Web 窗体设计器生成的代码

        
private void btnSubmit_Click(object sender, System.EventArgs e) {
            Response.Write(
this.Request.Form["radioChiose"]);
        }

    }

}
结果如图:

用户自定义控件被执行了两次(进入页面就如此)!凡高手指教!
posted @ 2005-11-23 15:39  文野  阅读(1617)  评论(5编辑  收藏  举报