加载PlaceHolder控件后,UserControl没有捕获Button单击事件 [英] UserControl not capturing Button click event when loaded with PlaceHolder Control

查看:63
本文介绍了加载PlaceHolder控件后,UserControl没有捕获Button单击事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我第一次遇到这样的错误.我也曾尝试查找,但未成功.
这就是我的全部代码
这是我的代码

default.aspx.cs

This is first times i met an error like this .I have also tried to find, but it is not successfully.
This is the whole my code
Here is my code

default.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
if (!base.IsPostBack)
{
switch (((base.Request.QueryString["Page"] != null) ? base.Request.QueryString["Page"].ToUpper() : "HOME"))
{
case "CONTACT":
phdDefault.Controls.Clear();
Control myUserControl = (Control)Page.LoadControl("Modules/WebUserControl.ascx");
phdDefault.Controls.Add(myUserControl);
break;
}
}
}


WebUserControl.ascx.cs


WebUserControl.ascx.cs

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:Label ID="Label1" runat="server"></asp:Label>

protected void Button1_Click(object sender, EventArgs e)
{
// OnBubbleClick(e);
TextBox1.Text = "";
Label1.Text = "What is this an error ?";
}


不要捕获该值.在按钮上单击
请帮帮我
谢谢
Phuc Hoang


Do not capture the value. on Button click
Please help me
Thanks
Phuc Hoang

推荐答案

你好!

在测试了与您的代码类似的东西之后,我看到了,因为我们在(!IsPostBack)子句中加载了该控件,所以该控件不再在回发之后添加.

在(!IsPostBack)子句之外添加控件应解决此问题.

希望这可以帮助!祝您编码愉快!
Hello!

After testing something similar to your code, I saw that, beacause we load the control in an (!IsPostBack) clause, the control is no longer added after postback.

Adding the control outside the (!IsPostBack) clause should take care of the problem.

Hope this helps! Happy coding!


这篇关于加载PlaceHolder控件后,UserControl没有捕获Button单击事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆