我从后面的代码创建了一个按钮:
Panel dynamicPanel = new Panel();
Button dynamicButton = new Button();
dynamicButton.Text = "View";
dynamicButton.Click += new EventHandler(dynamicButton_Click);
dynamicPanel.Controls.Add(dynamicButton);
dynamicDiv.Controls.Add(dynamicPanel);
和OnClick
方法:
protected void dynamicButton_Click(object sender, EventArgs e)
{
Response.Write("view button response");
string script = "alert(\"view clicked.\");";
ScriptManager.RegisterStartupScript(this, GetType(),
"ServerControlScript", script, true);
}
当我点击按钮时,会有回发(带有Javascript警报的IsPostback),但不会触发EventHandler。我可以说,如果这是一个线索,页面上可见的内容就会消失。
我需要在自定义的受保护的void方法中创建它。
答案 0 :(得分:1)
你的代码对我来说看起来有点奇怪,但至于问题"当我点击按钮时,方法不会被触发":尝试将方法dynamicREGButton_Click()
重命名为{{1} }。
我假设您的代码中已经有方法dynamicButton_Click()
;否则,你无法编译。但是,您通过dynamicButton_Click()
注册的方法是您调用的方法。您向我们展示的代码在这方面并不匹配。