2015-03-13 142 views
1

當調用Sub來使用DictionaryEntry()中的鍵和值填充System.Collections.Generic.Dictionary時,在調試模式下檢查Dictionary時,每個屬性都有一個紅色圓圈與X和包含文字「無法評估表達式」。它似乎工作,它甚至會抱怨,如果我嘗試使用相同的鍵/值對添加兩個條目。即使我的測試字符串(valuesString)已填充,也不存在任何鍵或值。字典(字符串,字符串)無法評估表達式

我打電話從一個FormView的ItemInserted事件分(.Net框架4時,Visual Studio 2013 Web表單應用程序)

Protected Sub PopulateDictionary(myValues As DictionaryEntry()) 

     Dim de As DictionaryEntry 
     Dim valuesString As String = String.Empty 
     Dim myDictionary As New Dictionary(Of String, String) 

     For Each de In myValues 

      'This works - the string is populated with key/value pairs 
      valuesString &= "Key=" & de.Key.ToString() & ", " & _ 
       "Value=" & de.Value.ToString() & "<br/>" 

      'This doesn't - just get the red circle with an X 
      myDictionary.Add(de.Key.ToString(), de.Value.ToString()) 

     Next 
End Sub 

這到底是怎麼回事?我沒有運氣重新啓動Visual Studio。

+0

我確實通過傳入來自SqlDataSourceStatusEve的Parameters集合來解決這個問題ntArgs代替。我仍然不確定爲什麼字典無法在ItemInserted事件中工作,所以我希望也許有人對此有一個答案。 – TrevorBrooks 2015-03-16 17:15:43

回答

0

奇怪的是,這與"<br/>"一起使用。它看起來像缺少結束報價。 (也許並不需要的ToString()?)

valuesString &= "Key=" & de.Key.ToString() & ", " & _ 
      "Value=" & de.Value.ToString() & "<br/>" 

它看起來像這樣:

myDictionary.Add(de.Key.ToString(), de.Value.ToString()) 

只是需要:

myDictionary.Add(valuesString) 

或(不知道...) :

myDictionary.Add(DictionaryEntry()) 
+0

不,這不能解決問題,對不起。 – TrevorBrooks 2015-03-27 16:20:34