Sin*_*tic 3 c# asp.net asynchronous
似乎是一个明显的问题,但我仍然感到困惑.我在页面上有一个asp FileUpload控件,它也恰好位于UpdatePanel中.我将UpdatePanel设置为UpdateMode ="Conditional".我还在触发器部分设置了回发触发器(不是asyncpostback触发器).在按钮单击时,它应该将文件上载到数据库中,在我的数据层中处理.在第一次尝试时,它将失败,因为PostedFile为null,但您看到该页面执行回发(其本身清除/重置下载控件).当我再次尝试上传文件时,它很好.我的第一个想法是因为它需要回发才能真正抓住字节,对吧?好吧,所以根据这个逻辑,我想如果我试图上传一个不同的文件,那么它实际上会上传以前的文件.它没; 它上传了新文件.所以这就是我困惑的地方.
这是上传方法:
protected void ReplaceDoc()
{
var data = ulReplaceDoc.FileBytes;
var fileName = ulReplaceDoc.PostedFile.FileName;
if (MocApi.ReplaceWorkingDocument(_request.MocRequestID, _currentUser, fileName, data))
{
//refresh files
ShowFiles();
}
}
Run Code Online (Sandbox Code Playgroud)
挺直的.它应该抓取文件,上传它(在数据库上运行UPDATE查询以更改文件),然后刷新数据源以显示新文件.
所以我的问题是:为什么它只在第一次尝试失败?另外,实现这种效果的更好方法是什么?
the*_*van 12
在页面加载事件中,添加以下代码,
Page.Form.Attributes.Add("enctype", "multipart/form-data");
Run Code Online (Sandbox Code Playgroud)
它会工作.在第一次PostBack期间缺少enctype属性.
| 归档时间: |
|
| 查看次数: |
9757 次 |
| 最近记录: |