【问题标题】:C# Dynamic button not firing click eventC#动态按钮不触发点击事件
【发布时间】:2015-10-04 02:47:18
【问题描述】:

当我单击按钮时,它会重新加载页面为空。如何在单击按钮时触发单击事件?我认为 Page.IsPostBack 是它重新加载页面为空而不是显示标签的原因。

protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false)
            {
                account account = new account();
                accountManager accountManager = new accountManager();
                group group = new group();
                groupManager groupManager = new groupManager();
                string emailAddress;

                emailAddress = HttpContext.Current.User.Identity.Name;
                account = accountManager.getAccInfoByEmailAddress(emailAddress);
                group = groupManager.getGroupLeader(account.groupNo);

                if (account.groupNo == 0)
                {
                    divMessage.InnerHtml = "You are not in any group.";
                }
                else
                {
                    try
                    {
                        Button btn = new Button();
                        btn.Text = "Click";
                        btn.Click += new EventHandler(button_Click);
                        form1.Controls.Add(btn);
                    }
                    catch (Exception)
                    {
                        divMessage.InnerHtml = "Unable to retrieve data. Please contact administrator if the problem persists.";
                    }
                }
            }
        }

.

private void button_Click(object sender, EventArgs e)
        {
            Label Label1 = new Label();
            Label1.Text = "rthfg";
            form1.Controls.Add(Label1);
        }

【问题讨论】:

标签: c# asp.net events button click


【解决方案1】:

当您单击按钮或以其他方式生成回发时,ASP.NET 会创建页面(一如既往)并尝试查找请求的来源,即您单击的按钮。在您的情况下,此按钮不再在页面上,因此 ASP.NET 找不到任何内容,end 不会触发事件。

在您的情况下,解决似乎很容易 - 只需始终创建按钮并将其放在页面上,无论回发如何:

if (!Page.IsPostBack)
{
...
}

Button btn = new Button();
btn.Text = "Click";
btn.Click += new EventHandler(button_Click);
form1.Controls.Add(btn);

顺便说一句,为什么要让按钮动态化?动态控件总是更难管理。

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多