2011-08-23 3 views
0

MvcContrib Grid를 사용하고 있는데 해당 Col ID가 선택된 Col ID 목록에 있는지 여부에 따라 열의 Visible 속성을 설정하고 싶습니다. 내보기에, 나는 다음과 같은 기능을MvcContrib.Grid 보이는 메서드 - 이상한 동작

@functions { 

    public bool testFn(int colId, String[] str) 
    { 
     String temp = colId.ToString(); 
     if (Array.Exists(str, s => s.Equals(temp))) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
} 

을 만들었으며 또한로 정의 된 캐릭터 라인의 배열은

@{ 
var myStrArr = ViewBag.selCols as String[]; 
} 

다음과 같이 내가 그리드의 표시 방법에서 함수를 호출하고있어 다음
Visible(testFn(0, myStrArr)) 

그러나이 메서드는 반환되는 값을 완전히 무시한 것 같습니다. 내가

public bool testFn(int colId, String[] str) 
{ 
    String temp = colId.ToString(); 
    if (1 == 2) { 
     return true; 
    } else { 
     return false; 
    } 
} 

로 단순하게 제 기능을 변경 한 다음 표시 방법과 동일한 방식으로 호출하는 경우, 거짓 값이 반환되는 이해하는 것 같다.

아무도 내가이 문제를 해결할 수 있도록 도와 줄 수 있습니까? 내가 뭘 잘못하고 있는지 잘 모르겠다. 코드를 밟으면 반환 값이 입력에 따라 true 또는 false로 올바르게 설정되지만 Visible 메서드는 반환 값을 완전히 무시한 것으로 보입니다.

감사합니다.

+0

그것은 그리드 코드의 결함 것 같습니다. 디버깅에 가시의 값이 false로 설정되고있다. 여러분 모두 감사합니다,하지만 테이블이 렌더링 될 때이 무시되는 몇 가지 이유. – SimpleUser

답변

0

지금이 문제를 분류했습니다. 그리드에 전혀 문제가되지 않았 음을 알 수 있습니다. 오히려 그리드를 제대로 업데이트하지 못하는 Ajax 콜에 누락 된 선이 있습니다. ! $ ("# 그리드) .html 중에서 (데이터)를 추가 할 잊어 버렸;. 성공 기능에

이 (MvcContrib 구글 그룹에서) 나에 대한 문제를 살펴있는을 위해 제레미 스키너 주셔서 감사를 많은 감사.