2012-04-05 9 views
0

연락처가있는 테이블, 이벤트가있는 테이블 및 해당 이벤트를 연락처에 연결하는 테이블이 있습니다."추가"버튼을 표시하기 전에 DB에 행이 있는지 확인하십시오.

제 생각에는 이벤트를 선택하고이 이벤트에 추가 할 수있는 연락처 목록을 볼 수 있습니다.

잠시 동안 이벤트에 여러 번 연락처를 추가 할 수 있습니다.

연락처가 버튼을 표시하기 전에 이벤트에 이미 추가되어 있는지 확인하고 싶습니다.

<td> 
     @Code 
     Dim flag1 As Integer = 0 
     flag1 = (From a In Model.trans_Event 
       Where a.FK_id_contact = item.idContact And a.FK_id_Event = idEvent 
       Select a.idtrans).Count() 
     End Code 

     @If flag1 = 0 Then 
     <input type="button" value="add" /> 
     Else 
     <input type="button" value="delete" /> 
     End If 
</td> 

같은이 코드는 작동하지 않습니다, 나는 정말 내가 접촉이 이미 추가되었는지의 여부를 확인할 수있는 방법을 볼 수 없습니다 :

여기 내이다. 여기에 오류가 나는 얻을 수있다 :

Exception Details: System.ArgumentNullException: Value cannot be null. 
    Parameter name: source 

답변

1

이 코드에서 (당신이 복사/붙여 넣기 실수를 havent 한 경우)

a.FK.id_Event = idEvent 

당신이 얻으려고 노력하고 있습니다 -이 때문에> id_event과 -> FK를 모델에 FK 객체가 없으면 null 예외로 분류됩니다.

코드를보고하는 것은 "a.FK_id_Event"인 것을

flag1 = (From a In Model.trans_Event 
       Where a.FK_id_contact = item.idContact And a.FK_id_Event = idEvent 
       Select a.idtrans).Count() 
     End Code 

편집 :

내가 선호하는 모델의 컬렉션을 필터링;

Model.trans_Event.Where(a => a.FK_id_contact == item.idContact && 
          a.FK_id_Event == idEvent) 
+0

필자는 실수로 코드를 작성 했으므로 (나는 프랑스어로 말하기 때문에 가능한 모든 코드를 프랑스어로 번역하여 코드를 이해할 수 있도록했습니다). –

+1

당신의 모델 수업은 해결책에 도움이 될 것입니다 – Azadrum

+1

당신의 답은 저의 잘못을 이해하는데 도움이되었습니다. 나는 내가 "그 이상"정확하게 "카운트"를 올바르게 사용하지 않았 음을 확신했다. 사실 내 문제는보기에 "trans_Event"테이블을 보내지 않은 컨트롤러 내부에있었습니다. –

관련 문제