我正在嘗試使用會話變量執行某些操作之前測試值。 這是用於初始化(正如你可以看到會議(「舍曼」)是字符串的列表:檢查空值時爲空錯誤
@If (IsDBNull(Session("Chemin")) Or (ViewContext.RouteData.Values("action") = "Index")) Then
@Code Dim lst As New List(Of String)()
Session("Chemin") = lst // Initialisation
End Code
End If
但問題是這裏的測試:
@If (Not IsDBNull(ViewContext.RouteData.Values("action")) AndAlso Not IsDBNull(Session("Chemin")) AndAlso Not Session("Chemin").Contains((ViewContext.RouteData.Values("action").ToString()))) Then
我有時會
System.NullReferenceException
我不明白,因爲我只是測試它,但它會引發錯誤。 所以我的問題是:爲什麼以及何時發生?如何解決這個問題? 編輯:不重複,因爲不是一個簡單的System.NullReferenceException
嘗試將其更改爲 'ViewContext.HttpContext.Request.QueryString.Get( 「行動」);' –
的ToString不能返回System.DbNull這是什麼IsDbNull比較它,你的評估總是會返回false。 – Esko
Esko,沒有ToString,這是一樣的,我把它放在那裏,因爲我很絕望,以後我會用它。我同意這是愚蠢的 –