C# asp.net按钮/htmlbutton事件将不会触发
我知道以前有人问过这个问题,但我无法启动事件,即使我在每个单元上创建了按钮和事件。我正在制作一个Sharepoint 2010 web部件,并在每次调用OnInit时用值填充RadioButton列表,并向web部件添加一个submit按钮。页面加载方法为空。我还尝试将paintQnA调用放入重写的CreateChildControls中,得到了相同的结果C# asp.net按钮/htmlbutton事件将不会触发,c#,asp.net,events,C#,Asp.net,Events,我知道以前有人问过这个问题,但我无法启动事件,即使我在每个单元上创建了按钮和事件。我正在制作一个Sharepoint 2010 web部件,并在每次调用OnInit时用值填充RadioButton列表,并向web部件添加一个submit按钮。页面加载方法为空。我还尝试将paintQnA调用放入重写的CreateChildControls中,得到了相同的结果 protected override void OnInit(EventArgs e) { base.OnI
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
...//Get data needed to create gui
paintQnA(dr, dt, currentRow);
}
void paintQnA(DataRow dr, DataTable dt, int currentRow)
{
Panel p = new Panel();
p.ID = currentRow.ToString();
Label lbl= new Label();
lbl.Text = dr["Title"].ToString();
RadioButtonList rbl = new RadioButtonList();
rbl.ID = currentRow.ToString() + "1";
HtmlButton submitBtn = new HtmlButton();
submitBtn.ID = currentRow.ToString();
submitBtn.InnerText = "Click";
submitBtn.ServerClick += new EventHandler(submitBtn_Click);
...//fill the radiobuttonlist with data
this.Controls.Add(p);
p.Controls.Add(lbl);
p.Controls.Add(rbl);
p.Controls.Add(submitBtn);
UpdatePanel1.ContentTemplateContainer.Controls.Add(p);
}
void submitBtn_Click(object sender, EventArgs e)
{
...//Should display another dynamically created panel but is never reached.
}
发现错误:
p.ID = currentRow.ToString();
submitBtn.ID = currentRow.ToString();
它们具有相同的ID…它们不能具有相同的ID。在您的代码中,我可以看到您正在将相同的
ID
分配给面板
和submitBtn
。因此,由于Id重复,您的单击事件不会触发
尝试面板和Submitbutton的不同
ID
,然后它应该可以正常工作 使用HtmlButton
而不是Button
对象的原因是什么?不完全是。如果有什么不同,只需按一下按钮就可以了,但还是没有成功。您是否尝试过使用submitBtn。单击而不是submitBtn。服务器单击?