【发布时间】:2012-03-19 16:44:40
【问题描述】:
我有一个更新面板,在单击一个按钮后提交页面。代码是
<asp:ScriptManager ID="MainScriptManager" runat="server" EnablePageMethods="true" />
<asp:UpdatePanel ID="pnlCalendar" runat="server">
<ContentTemplate>
<asp:PlaceHolder ID="panCalendarHolder" runat="server"></asp:PlaceHolder>
<br /><br />
<asp:Button id="btnViewWholeWeek" text="View Whole Week" runat="server" CssClass="normal-button" OnClick="viewWholeWeek" CausesValidation="false"></asp:Button>
</ContentTemplate>
</asp:UpdatePanel>
印刷机上的功能不包含任何代码,因为我一直在测试它是否会导致问题。反正就是这样
protected void viewWholeWeek(object sender, EventArgs e) {
HtmlContainerControl paraDayName = (HtmlContainerControl)new HtmlGenericControl("p");
paraDayName.InnerHtml = "test";
panCalendarHolder.Controls.Add(paraDayName);
}
我按下上面的按钮一次......它工作 - 刷新更新面板。我再次按下它并提交页面。我在<form id="frmMain" runat="server"> 和</form> 标签内拥有所有内容....
有什么想法吗?!
【问题讨论】:
-
submits the page是什么意思?每次回发都会提交页面,甚至是异步的。您是否知道最迟需要在 page_load 中手动重新创建每个回发的每个动态创建的控件?否则不会重新创建。 -
第一次点击按钮执行异步,然后第二次点击它,提交整个页面。即:不是更新面板。这些按钮不是动态创建的——它们是在标准 HTML 中。
标签: c# asp.net updatepanel