![]() |
#2
长恨2012-06-01 10:01
|

[local]1[/local]这是自定义控件中的代码
public virtual void btn_Click(object sender, EventArgs e)
{
EventArgs arg = new EventArgs();
if (LoginClick != null)
{
LoginClick(btn, arg);
}
}
protected override void CreateChildControls()
{
lbl.ID = "lblWord";
btn.ID = "btnWord";
txt.ID = "txtWord";
txt.AutoPostBack = true;
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(lbl);
this.Controls.Add(txt);
this.Controls.Add(btn);
// base.CreateChildControls();
}
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<div>");
lbl.RenderControl(writer);
txt.RenderControl(writer);
btn.RenderControl(writer);
writer.Write("</div>");
}
这是3个核心的方法,下面是客户端中的事件,此事件已经正确绑定
protected void ServerControl1_LoginClick(object sender, EventArgs e)
{
Label1.Text =(ServerControl1.FindControl("txtWord") as TextBox).Text;
}
页面运行是这样的,首先页面加载正常,然后在文本框中输入一个值通过触发ServerControl1_LoginClick发放在一个临时lable中显示该值
但是点击按钮的时候 按钮点击2此才能显示,请高手解答
public virtual void btn_Click(object sender, EventArgs e)
{
EventArgs arg = new EventArgs();
if (LoginClick != null)
{
LoginClick(btn, arg);
}
}
protected override void CreateChildControls()
{
lbl.ID = "lblWord";
btn.ID = "btnWord";
txt.ID = "txtWord";
txt.AutoPostBack = true;
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(lbl);
this.Controls.Add(txt);
this.Controls.Add(btn);
// base.CreateChildControls();
}
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<div>");
lbl.RenderControl(writer);
txt.RenderControl(writer);
btn.RenderControl(writer);
writer.Write("</div>");
}
这是3个核心的方法,下面是客户端中的事件,此事件已经正确绑定
protected void ServerControl1_LoginClick(object sender, EventArgs e)
{
Label1.Text =(ServerControl1.FindControl("txtWord") as TextBox).Text;
}
页面运行是这样的,首先页面加载正常,然后在文本框中输入一个值通过触发ServerControl1_LoginClick发放在一个临时lable中显示该值
但是点击按钮的时候 按钮点击2此才能显示,请高手解答
[ 本帖最后由 qq8801103 于 2012-5-29 20:54 编辑 ]