C#学习教程:UpdatePanel中的ASP.NETFileUpload-仍然无法正常工作我尝试在我的母版页中使用标准的Scriptmanager或ToolKitScriptManager。我的保存按钮设置为PostBackTrigger(也尝试过AsyncPostbackTrigger)。无论如何,我的(异步)FileUpload.HasFile总是返回false。删除更新面板,两个上传控件工作正常。真正让我难过的是我在另一个项目中工作(masterpage中的scriptmanager,updatepanel中的Fileupload,SaveButton是PostbackTrigger)。是否有某些特定的AJAX版本或.NET版本可能导致该问题?这非常令人沮丧。将按钮添加到UpdatePanel的触发标签,我让它工作了:我不必在服务器端做任何不同的事情(比如user5159158的回答)。文件上传不适用于部分回发。它需要一个完整的页面请求。因此,在页面加载时添加以下行。ScriptManager.GetCurrent(this).RegisterPostBackControl(this.YourControlID);上传文件FileUpload需要一个完整的页面请求。这是所有AJAX框架中用于异步调用应用程序的XmlHttpRequest组件的限制。真正让我难过的是我在另一个项目中工作(masterpage中的scriptmanager,updatepanel中的Fileupload,SaveButton是PostbackTrigger)。我认为您正在使用FullPostBack,尽管FileUpload在**UpdatePanel中。例如,如果您将AsyncFileUpload与UpdatePanel一起使用,则AsyncFileUploadAsyncFileUpload.HasFile仅应在UploadedComplete中检查(您无法在按钮单击事件中检查)。原因是AsyncFileUpload是通过Async本身来上传文件的。注意:确保使用ToolkitScriptManager而不是ScriptManagerprivatestringFileName{get{return(string)(Session["FileName"]??"");}set{Session["文件名"]=值;}}protectedvoidSaveButton_Click(objectsender,EventArgse){stringfileName=FileName;字符串路径=Server.MapPath("~/App_Data/");varfileInfo=newFileInfo(路径+文件名);}protectedvoidAsyncFileUpload1_UploadedComplete(objectsender,AsyncFileUploadEventArgse){if(AsyncFileUpload1.HasFile){FileName=AsyncFileUpload1.FileName;字符串路径=Server.MapPath("~/App_Data/");AsyncFileUpload1.SaveAs(path+AsyncFileUpload1.FileName);我个人不喜欢在UpdatePanelAsyncFileUpload中使用的其他想法。相反,如果我需要上传文件,我宁愿使用FullPostBack。在Page_Load添加:Page.Form.Attributes.Add("enctype","multipart/form-data");以上是C#学习教程:ASP.NETFileUploadinUpdatePanel-stilldoesn'twork如果对大家有用,需要了解更多C#学习教程,就分享一下吧。希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
