【发布时间】:2011-10-24 16:33:17
【问题描述】:
我正在尝试使用 JavaScript 中的 AJAX 工具包在我的 ASP.NET 网页中实现一个日历,以创建动态文本框并使用弹出日历填充它。代码如下:
for(var j=1; j<2;j++)
{
<asp:ToolkitScriptManager runat="server"></asp:ToolkitScriptManager>
<input type="text" ID="startDate"+j runat="server" BackColor="#D6E4ED"
BorderStyle="Inset" Width="10px" ></input>
<asp:CalendarExtender runat="server" TargetControlID="startDate"+j>
}
在浏览器中查看后出现以下错误:
在DataBind、Init、Load期间不能修改控件集合, 预渲染或卸载阶段。描述:未处理的异常 在执行当前 Web 请求期间发生。请 查看堆栈跟踪以获取有关错误和位置的更多信息 它起源于代码。
异常详情:
System.Web.HttpException: The control collection cannot be modified during DataBind, Init, Load, PreRender or Unload phases.
来源错误:
An unhandled exception was generated during the execution of the current web request.
Information regarding the origin and location of the exception can be identified using the exception stack trace below.
堆栈跟踪:
[HttpException(0x80004005):无法修改控件集合 在 DataBind、Init、Load、PreRender 或 Unload 阶段。]
System.Web.UI.ControlCollection.Add(控制子) +8677431
AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(控制 控制)在 C:\Users\Stephen\Documents\Repos\Superexpert\AjaxControlToolkit\Server\AjaxControlToolkit\ExtenderBase\ScriptObjectBuilder.cs:323 AjaxControlToolkit.ExtenderControlBase.OnLoad(EventArgs e) 在 C:\Users\Stephen\Documents\Repos\Superexpert\AjaxControlToolkit\Server\AjaxControlToolkit\ExtenderBase\ExtenderControlBase.cs:305 System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint) +627
请提出解决问题的建议。
【问题讨论】:
标签: ajax asp.net-ajax ajaxcontroltoolkit