【发布时间】:2015-07-08 01:25:31
【问题描述】:
我有一个带有 div 的更新面板(带有 runat="server"),所以我在计时器滴答事件上动态创建并添加按钮。
问题是当一个按钮被点击时,这是一个回发但按钮已经消失并且事件没有引发。
这是我的 aspx 页面和后面的 c# 代码。我在 btn1_click 中写入的内容实际上并没有发生。
我的问题有一个继续,但为了简单起见,我想先了解上述内容。
我真的需要你的帮助,我很感激你,ty。
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="2000" ontick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<div id="div1" runat="server"></div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="div2" runat="server">div2</div>
</form>
</body>
这里还有这个 c#。
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Timer1_Tick(object sender, EventArgs e)
{
CreateControl();
}
void CreateControl()
{
Button btn1 = new Button();
btn1.ID = "btn1";
btn1.Text = "click me";
btn1.Click += new EventHandler(btn1_Click);
div1.Controls.Add(btn1);
}
void btn1_Click(object sender, EventArgs e)
{
div1.InnerHtml += "btn1 was clicked";
}
}
【问题讨论】:
-
您能发布您的实际代码或类似的代码吗?