2012-05-02 43 views
1

如果未傳遞參數變量,則此代碼拋出「從字符串轉換」異常到「類型」日期無效。如何避免vb.net中請求查詢字符串的異常如果參數未通過

這是我的代碼。

Public Shared ReadOnly Property Request_projectStartDate() As Date 
     Get 
      Dim _value As String = Nothing 

      If Not HttpContext.Current.Request.QueryString("projectStartDate") Is Nothing Then 
       _value = HttpContext.Current.Request.QueryString("projectStartDate").ToString() 
      End If 

      Return CDate(_value) 
     End Get 
    End Property 
+0

對不起,我犯了一個mystake錯誤是「從字符串轉換」「到類型」日期「無效。」因爲它什麼都沒有 – themis

+0

你的問題是什麼?如果'projectStartDate'不在查詢字符串中,'_value_'將成爲'Nothing'。 – Oded

+0

如何避免這種異常? 「從字符串」「轉換爲」日期「類型無效。」因爲沒有參數被傳遞,所以沒有任何東西的轉換拋出異常。我需要在那裏添加默認日期嗎?像1900/01/01?或者有什麼方法可以不返回? – themis

回答

11

你可以查閱一下@Massimiliano報告還有一個檢查

If Request.QueryString.HasKeys() Then 

    // Check for specified querystrings... 
    If Not String.IsNullOrEmpty(Request.QueryString("projectStartDate")) Then 
     // Your logic 
    End If 

End If 
+0

問題是,當我沒有任何東西轉換爲cdate實際上。 – themis

+1

你不必將任何東西都轉換成CDate這兩個檢查將確保有一些東西(PerojectStartDate),你可以使用cdate鍵入case。你還在犯錯嗎? –

+0

thanx。對,我不需要做cdate。感謝名單 – themis

1
If Not String.IsNullOrEmpty(Request.QueryString("projectStartDate")) Then 
    // 
End If 
+0

問題是,我什麼都沒有轉換實際cdate。 – themis

0

如果的Request.QueryString( 「projectStartDate」)狀態並沒有進行任何操作,的Request.QueryString( 「projectStartDate」)< >「」然後

相關問題