2011-01-06 68 views
0

这是我的一个aspx页面上的特定代码,它让我疯狂。我在第三行发现一个异常说“给定的键不在词典中”,并说'学期'不是字典'记录'中的有效键。问题是,我使用的关键字刚刚直接出现在字典中!必须有一些我可以忽略的东西。谢谢。使用密钥在字典中查找值

<% foreach (var semester in records.Keys) {%> 
     <h3><a href="#"><%= semester.ToString() %></a></h3> 
     <% foreach (var course in records[semester]) { %> 
      <div> 
      </div> 
     <% } %> 
    <% } %> 
+0

你有一个XSS漏洞。 – SLaks 2011-01-06 23:16:10

+0

'学期'是什么类型? – SLaks 2011-01-07 14:36:10

回答

1

我不知道为什么会发生这种情况。

相反,你可以通过键值对循环:

<% foreach (var pair in records) {%> 
    <h3><a href="#"><%= pair.Key %></a></h3> 
    <% foreach (var course in pair.Value) { %> 
     <div> 
     </div> 
    <% } %> 
<% } %> 
+0

这个伎俩! (我会在一分钟之内将它标记为答案)。虽然对我没有意义。我传递的参考文献不应该继续工作吗?在即时窗口中,我尝试了记录.Contains(semester.Key)并引发了相同的异常。 – kd7iwp 2011-01-06 23:19:30

+0

调用'Contains'引发异常?那不可能发生。 – SLaks 2011-01-06 23:24:11