C# ASP.Net AjaxControlToolkit AsyncFileUpload位于更新面板中,该面板是使用母版页c在服务器端代码中创建的#
我整个上午都在四处奔波,试图让asp.net AjaxControlToolkit中的AsyncFileUpload控件在我的情况下工作,但运气不好 我有一个支持Ajax的页面,它向用户显示问题,然后允许用户在不需要整页回复的情况下来回查看问题,页面上可以显示多个问题,其中一个或多个问题可以是文件上载控件。该页面使用了一个母版页,其中包含了表单元素,我已经对其进行了修改,这是众多答案的结果,这些答案似乎都指向了问题所在C# ASP.Net AjaxControlToolkit AsyncFileUpload位于更新面板中,该面板是使用母版页c在服务器端代码中创建的#,c#,asp.net,updatepanel,ajaxcontroltoolkit,asyncfileupload,C#,Asp.net,Updatepanel,Ajaxcontroltoolkit,Asyncfileupload,我整个上午都在四处奔波,试图让asp.net AjaxControlToolkit中的AsyncFileUpload控件在我的情况下工作,但运气不好 我有一个支持Ajax的页面,它向用户显示问题,然后允许用户在不需要整页回复的情况下来回查看问题,页面上可以显示多个问题,其中一个或多个问题可以是文件上载控件。该页面使用了一个母版页,其中包含了表单元素,我已经对其进行了修改,这是众多答案的结果,这些答案似乎都指向了问题所在 然后将控件添加到aspx页面中的占位符中 <asp:Update
-
然后将控件添加到aspx页面中的占位符中
其他答案表明,控件的可见设置在true/false之间切换存在问题,但当页面直接由url加载或使用应用程序中的be next和back按钮导航时,控件的可见性永远不会改变 虽然这确实使我考虑到,因为控件不在页面的ASPX代码上,但是加载服务器端,在那里可能会有问题。由于这个原因,我对“下一步”和“后退”按钮事件没有触发有一个问题,最终不得不为这些控件向updatepanel添加代码以触发事件,但这不是问题控件的选项,因为它会随着页面的变化而变化<asp:UpdatePanel ID="questionPanel" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:PlaceHolder ID="QuestionSection" runat="server"> </asp:PlaceHolder> </ContentTemplate> </asp:UpdatePanel>
然后Server Response Error: 'Unknown Server Error' Do You want to see the response page?
所有测试过FF8、Chrome15.0和IE9的浏览器都会出现这种情况 在Firefox中的firebug中,我还得到了以下javaScript错误,这可能与Unhandled Exception: Server Response Error: 'Unknown Server Error'
任何帮助都将不胜感激Index or size is negative or greater than the allowed amount [Break On This Error] Type.registerNamespace("Sys.Extended.U...FileUploadEventArgs",Sys.EventArgs);
编辑2011年12月13日我使用今天下载的AjaxControlToolkit版本4.1.5作为最新版本,问题仍然存在。问题已解决 我没有意识到的是,当出现部分页面回发时,我动态创建的字段都没有填充。看了这个之后:
这还意味着需要重新初始化AsyncFileUpload,页面才能继续,完成后,我的日志记录方法现在记录fileuploadClick()事件正在成功调用 注意,我添加了一行public void Page_Init(object sender, EventArgs e) { logger.Debug("Page_Init START"); if (!Page.IsPostBack) { Session["qid"] = 0; } int qid = Convert.ToInt32(Session["qid"]); if (qid > 0) { _displaySingleQuestion(_formObject, qid); } logger.Debug("Page_Init END"); }
if (!Page.IsPostBack) { Session["qid"] = 0; }
这样,它只会尝试在部分页面回发而不是完整页面上获取值,例如首次加载页面时。解决您自己的问题的功劳+1刷新应用程序池并重新启动网站。我没有为我工作。此外,我在web.config中将sessionstate改为InProc,而不是stateserver。Unhandled Exception: Server Response Error: 'Unknown Server Error'
Index or size is negative or greater than the allowed amount [Break On This Error] Type.registerNamespace("Sys.Extended.U...FileUploadEventArgs",Sys.EventArgs);
public void Page_Init(object sender, EventArgs e) { logger.Debug("Page_Init START"); if (!Page.IsPostBack) { Session["qid"] = 0; } int qid = Convert.ToInt32(Session["qid"]); if (qid > 0) { _displaySingleQuestion(_formObject, qid); } logger.Debug("Page_Init END"); }
if (!Page.IsPostBack) { Session["qid"] = 0; }