用户控件为什么会被执行两次?(高手指教)
今天临时调到一个项目组开发几个用户控件,遇到了这样一个问题,哪位高手指教!
调用页面(WebForm1.aspx):
用户自定义控件前台页面(WebUserControl1.ascx.cs):无
用户自定义控件被执行了两次(进入页面就如此)!凡高手指教!
调用页面(WebForm1.aspx):
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<div id="div" runat="server"></div>
</form>
</body>
调用页面后台代码(WebForm1.apsx.cs):<form id="Form1" method="post" runat="server">
<div id="div" runat="server"></div>
</form>
</body>
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack) {
this.div.Controls.Add(new WebUserControl1());
}
}
用户自定义控件前台页面(WebUserControl1.ascx):无{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack) {
this.div.Controls.Add(new WebUserControl1());
}
}
用户自定义控件前台页面(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"]);
}
}
}
结果如图:{
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"]);
}
}
}
用户自定义控件被执行了两次(进入页面就如此)!凡高手指教!
作者:文野
出处:http://stwyhm.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://stwyhm.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。