我从后面的代码创建一个按钮:动态按钮不起作用
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);
}
当我按一下按钮,就回发(用的IsPostBack Javascript警报),但EventHandler没有被解雇。如果这是线索,我可以说在页面上显示的内容会消失。
我需要在自定义保护的无效方法中创建它。
也许你应该使用JavaScript而不是C#来实现这样的动态。如果你使用MVC,实现动态也更容易。 –
@LeiYang不知道MVC。你能举出Javascript例子吗?问题是dynamicPanel是为列表中的每个项目创建的。所以在页面上有几个。 – matt2605
Webforms已经过时,现在不是Winform,所以最好从MVC开始。 –