2011-01-06 6 views
0

이 aspx 페이지의 특정 코드는 나를 괴롭 히고 있습니다. 나는 "3 학기"가 사전 '레코드'의 유효한 키가 아니라는 것을 말하는 3 행의 "주어진 키가 사전에 없습니다"라는 예외를받습니다. 것은, 나가 사용하고있는 열쇠는 다만 사전에서 직접적으로왔다이다! 내가 간과하고있는 명백한 것이 있어야 할 것입니다. 감사.키로 사전에서 값 찾기

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

당신은 XSS 구멍이있다. – SLaks

+0

'semester'는 어떤 타입입니까? – SLaks

답변

1

왜 그렇게 될지 확신하지 않습니다.

대신 키 - 값 쌍을 반복 할 수 있습니다

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

그 트릭을 했어! (나는 잠시 후에 나를 대답으로 표시 할 것이다). 그래도 나에게 이해가되지 않는다. 내가 통과하는 참조가 아직 작동하지 않아야합니까? 직접적인 창에서 나는 records.Contains (semester.Key)를 시도했고 같은 예외를 발생시켰다. – kd7iwp

+0

'Contains '를 호출하면 예외가 발생 했습니까? 그것은 일어날 수 없다. – SLaks