现在的位置: 首页 > 综合 > 正文

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

2012年08月22日 ⁄ 综合 ⁄ 共 2134字 ⁄ 字号 评论关闭
今天临时调到一个项目组开发几个用户控件,遇到了这样一个问题,哪位高手指教!
调用页面(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"]);
        }

    }

}

结果如图:

用户自定义控件被执行了两次(进入页面就如此)!凡高手指教!

抱歉!评论已关闭.