取消时,文件对话框会引发空引用

时间:2013-12-12 14:34:33

标签: c# silverlight

在我的具有文件上传功能的站点中,当我不选择文件并单击取消时,文件对话框返回空引用。但是这里有一个问题:

当用户:

  1. 打开文件对话框&gt;选择文件&gt;点击打开,但想到他可能选择了错误的文件,所以他 - &gt; <打开文件对话框>单击“取消”,文件上传成功。但是......

  2. 在同一页面上,有一个按钮,允许您编辑刚刚创建的条目。所以也许用户上传了错误的文件,所以他 - 打开文件对话框&gt;选择文件&gt;单击打开,但再次想到可能他选择了错误的文件,所以他 - openfile对话框&gt;单击取消。当我收到Object reference not set to an instance of an object错误时,乐趣就此结束。

  3. 让我感到困惑的是,它经历了相同的代码,但第一次运行它的工作原理,而第二次它失败了?

    顺便说一句,我正在使用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相同。

1 个答案:

答案 0 :(得分:0)

尝试将代码放入

try{

}
catch(Exception ex){
  // Show message here
}

或者你应该为文件对话框制作一个过滤器。