0

2 つの if ステートメントがあり、私のプロジェクトは 1 つを認識し、もう 1 つを認識しません。コードは次のとおりです。

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

コードをトレースすると、条件内でコードを実行せずに 2 番目の if に移動し、if に移動することがわかります。

4

2 に答える 2

1

HandleUploadedFile で何が起こっていますか?

エラーがトラップされない場合、ルーチンからすぐに脱落する可能性があります (2 番目の if に到達することはありません)。

fileUpload が宣言されていない場合...同じシナリオ。

あなたが一歩踏み出すとき、あなたはそれが最後までジャンプしているのを見ますか?

編集: ページがポストバックされていない場合、本当にファイルをアップロードできますか? コード ブロック全体を If IsPostBack コード ブロックに入れるつもりだったのでしょうか。

Edit2:次を追加できます:

Public Sub HandleUploadedFile

この行の上:

Dim savePath As String = "Images\ "

そして追加:

End Sub

この行の下:

End If
于 2009-04-19T03:35:57.397 に答える
1

質問を正しく理解しているかどうかわかりませんが、fileUpload.HasFile が true であると確信していますか?

于 2009-04-19T03:37:26.317 に答える