Private Sub CreatFolder()
' the line below gives error like Conversion from string "C:\inetpub\wwwroot\Createfolders" to type 'Integer' is not valid
Dim directoryPath As String = Path.GetInvalidpathChars(Server.MapPath("..\Cre_Folders\File\") & txtFolderName.Text.Trim())
If Not Directory.Exists(directoryPath) Then
Directory.CreateDirectory(directoryPath)
lblsuccess.Visible = True
'lblmsg.Visible = False
lblValidName.Visible = False
lblDelete.Visible = False
lblerr.Visible = False
Else
ClientScript.RegisterStartupScript(Me.[GetType](), "alert", "alert('Folder already existed.');", True)
'lblmsg.Text = "Directory Already Exists..."
lblValidName.Visible = False
lblDelete.Visible = False
lblsuccess.Visible = False
lblerr.Visible = False
End If
Call Treeview()
End Sub
-4
A
답변
1
내가 얻은 것은 컴파일 타임 오류가 아닌 런타임 오류입니다.
메서드 Path.GetInvalidPathChars()는 경로의 유효성을 검사하지 않습니다. 그것은 끈을 잡고 좋은지 나쁜지 알려줍니다. 대신 사용중인 OS에서 유효하지 않은 문자 배열을 반환합니다. MSDN Example.
반환되는 문자 목록이 완전하지 않을 수도 있습니다 (참조 : Missing ? & *).
+1
'GetInvalidPathChars'에 대한 정정을했는데 이것이 런타임 오류라고 생각합니다 : VB이고 ('추측하고 있겠지만)'Option Strict'가 꺼져있어'Server.MapPath'의 결과를 Integer '배열 인덱스, 따라서 예외. –
관련 문제
- 1. 문자열에서 유형 long으로의 변환이 vb.net에서 유효하지 않습니다.
- 2. 변환이 유효하지 않습니다
- 3. System.InvalidCastException : 변환이 유효하지 않습니다.
- 4. "31/03/2012"문자열에서 'Date'유형으로의 변환이 유효하지 않습니다.
- 5. "00-25-2011"문자열에서 'Date'유형으로의 변환이 유효하지 않습니다.
- 6. 'String'유형에서 'String'유형으로의 변환이 유효하지 않습니다.
- 7. 문자열 "I"에서 'Boolean'유형으로의 변환이 유효하지 않습니다.
- 8. 문자열에서 유형 정수로의 변환이 올바르지 않습니다.
- 9. 문자열에서 날짜 변환이 실패했습니다.
- 10. 문자열 ""에서 유형 '정수'로의 변환이 각 구문에 대해 유효하지 않습니다.
- 11. - 타입 'DBNull이'에서 변환이 '문자열'을 입력하기가 유효하지 않습니다
- 12. 오류 'InternalField'유형에서 'String'유형으로의 변환이 유효하지 않습니다.
- 13. 문자열에서 유형 날짜로의 변환이 올바르지 않습니다.
- 14. 문자열에서 유형 부울로 변환이 올바르지 않습니다.
- 15. 입력 문자열의 형식이 올바르지 않습니다. "Normal"문자열에서 "Integer"유형으로의 변환이 유효하지 않습니다.
- 16. 아래 코드에서
- 17. 아래 코드에서
- 18. 아래 코드에서
- 19. "update bk_details set totalcopie"문자열에서 'Double'유형으로의 변환이 올바르지 않습니다.
- 20. 문자열 ""에서 유형 '정수'로의 변환이 유효하지 않습니다. - VB.NET
- 21. 내 프로그램에서 "문자열에서 ID 로의 변환이"정수 유형으로 유효하지 않습니다 "라는 이유는 무엇입니까?
- 22. pyparsing.operatorPrecedence가 유효하지 않은 문자열에서 오류를 발생시키지 않습니다.
- 23. Google지도의 아래 코드에서 클릭 동작이 작동하지 않습니다.
- 24. 아래 코드에서 PPL
- 25. 아래 코드에서 Console.writeline 실행
- 26. 아래 코드에서 접두사
- 27. public.init이 아래 코드에서 무엇입니까
- 28. 아래 코드에서 closure는 무엇을합니까?
- 29. 아래 코드에서 QT
- 30. SSRS 오류 : 문자열 "string; #NA"에서 '날짜'유형으로의 변환이 유효하지 않습니다.
Sever.MapPath를 자체 변수로 분리하고 거기에서 중단 점을 설정하고 내용을 검사합니다. – Edper
가능한 복제본 [아래 코드의 경로에 잘못된 문자를 허용하려면 어떻게합니까?] (http://stackoverflow.com/questions/19699335/how-can-i-accept-illegal-characters-in-the-path- for-the-below-code) – igrimpe
문제를 지정하고 질문하지 않고 코드를 제시 하시겠습니까? -1 – igrimpe