两个如果声明,为什么一个不执行?

时间:2009-04-19 03:25:25

标签: vb.net if-statement switch-statement

我有两个if语句,我的项目看到一个而不是另一个。这是代码:

If (IsPostBack) Then
  HandleUploadedFile()
End If

Dim savePath As String = "Images\ "

If (fileUpload.HasFile) Then
  Dim fileName As String = fileUpload.FileName
  savePath = Server.MapPath(savePath) + fileName
  fileUpload.SaveAs(savePath)
  Me.Label1.Text = "Your file was saved as " & fileName
  adp.Insert(fileUpload.FileName)
  Me.Label1.Text = "You did not specify a file to upload."
End If

当我追踪我的代码时,我发现它转到第二个if然后转到结束,如果不在条件内运行代码。

2 个答案:

答案 0 :(得分:1)

HandleUploadedFile中发生了什么?

如果错误没有被捕获 - 你可能会失去你的常规(如果没有达到第二个)。

如果未声明fileUpload ...同样的情况。

当你单步执行时,你会看到它跳到最后?

编辑:当页面未被回发时,你真的会上传文件吗?也许你真的想将整个代码块放在If IsPostBack代码块中?

EDIT2: 你可以添加:

Public Sub HandleUploadedFile

在这一行之上:

Dim savePath As String = "Images\ "

并添加:

End Sub

在这一行之下:

End If

答案 1 :(得分:1)

不确定我是否正确理解了这个问题,但你确定fileUpload.HasFile是真的吗?