在我的具有文件上传功能的站点中,当我不选择文件并单击取消时,文件对话框返回空引用。但是这里有一个问题:
当用户:
打开文件对话框&gt;选择文件&gt;点击打开,但想到他可能选择了错误的文件,所以他 - &gt; <打开文件对话框>单击“取消”,文件上传成功。但是......
在同一页面上,有一个按钮,允许您编辑刚刚创建的条目。所以也许用户上传了错误的文件,所以他 - 打开文件对话框&gt;选择文件&gt;单击打开,但再次想到可能他选择了错误的文件,所以他 - openfile对话框&gt;单击取消。当我收到Object reference not set to an instance of an object
错误时,乐趣就此结束。
让我感到困惑的是,它经历了相同的代码,但第一次运行它的工作原理,而第二次它失败了?
顺便说一句,我正在使用Michiel Post的MultiFileUpload项目。
我给出的场景贯穿了这段代码:
else
{
MultiFileUpload.SelectUserFiles(); //This calls the MultiFileUpload
if (MultiFileUpload.UserFiles.FileList.LastOrDefault().FileName != refFileName)
{
//do something
}
else
{
//this is triggered when the user clicks Cancel on the FileDialog
return;
}
}
同样,该代码适用于方案编号1,但对于方案编号2失败,显然与1相同。
答案 0 :(得分:0)
尝试将代码放入
try{
}
catch(Exception ex){
// Show message here
}
或者你应该为文件对话框制作一个过滤器。