我在asp.net中创建一个页面,其中动态添加了一个更新面板,并创建了几个控件(按钮,表格)并动态添加到更新面板。
以下是一段代码:
UpdatePanel up = new UpdatePanel();
up.ID = newRequests.Tables[0].Rows[i].ItemArray[1].ToString() + "up" + i.ToString();
up.UpdateMode = UpdatePanelUpdateMode.Always;
// create table
HtmlGenericControl table=new HtmlGenericControl("table");
HtmlTableRow toprow = new HtmlTableRow();
HtmlTableCell topleftcell = new HtmlTableCell();
HtmlTableCell toprightcell = new HtmlTableCell();
// create button
Button add = new Button();
add.Text = "Approve";
add.ID = newRequests.Tables[0].Rows[i].ItemArray[1].ToString() + "btn" + i.ToString();
toprightcell.Controls.Add(add);
toprightcell.Controls.Add(new LiteralControl(" "));
// add trigger to update panel
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = add.ID;
trigger.EventName = "Click";
up.Triggers.Add(trigger);
toprow.Controls.Add(topleftcell);
toprow.Controls.Add(toprightcell);
table.Controls.Add(toprow);
up.ContentTemplateContainer.Controls.Add(table);
div.Controls.Add(up);
divNR.Add(div);
下面是div标签,其中动态添加了更新面板。
<div id="div_AMContainer" runat="server" class="panelContainer">
</div>
问题是:
当我第一次点击按钮时,没有回发。 但是在第二次点击时,会重新加载页面。
我在这里遗漏了什么。?