2014-09-17 1 views
1

현재 내 코드는 다음과 같습니다 : 나는 간단한 찾고 있어요내장 된 C# 메서드를 사용하여 뷰에서 null을 무시하는 방법?

@Html.DropDownListFor(m => m.regionIdentification, new SelectList(Model.UI.region, 
    "Value", "Text", Model.region), new {@class = "form-control input-sm"}) 

내가 드롭 다운을 채울 때 목록에 널 (null)을 무시했다. 예를 들어

:

.notNull() 

내가 LINQ 또는 업데이트 저장 프로 시저를 사용하는 것을 방지하기 위해 노력하고있어. 어떤 제안이라도 도움이 될 것입니다. 감사합니다!

+2

m.regionIdentification.Where (r => r! = null)'그러나 LINQ를 사용하고 싶지는 않습니다. – Habib

+1

'나는 linq을 사용해야하는 것을 피하려고합니다 .' 왜? –

+0

@Habib, 사실, 새로운 SelectList (Model.UI.region.Where (r -> r! = null) ... ')가 아니어야합니까? –

답변

1

난 당신이 몇 가지 옵션이 생각 :

  1. 생성자에서 유효하지 않은 값을 필터링 할 수있는 기능을 추가하고 대신 selectList의의 사용자 정의 클래스를 사용하는 selectList의 클래스를 확장합니다.
  2. 면도기 인라인 함수를 사용하면 LINQ를 선호하지 않으므로 널 값을 필터링 할 수 있습니다. 샘플 인라인 함수 구문에 대해서는 다음 링크를 참조하십시오.
  3. 콜렉션에 유효하지 않은 값을 추가하지 않도록 영역 목록을 채울 때 Controller 또는 Model 클래스에서 더 많은 유효성 검사를 수행하십시오.
  4. Null 값을 허용하지 않는 자신의 컬렉션을 만들거나 기존 컬렉션 중 하나를 확장하여 컬렉션에 유효한 값만 포함되도록하십시오. 생각이 읽기 : (! R => R = NULL) Are there any collections in .NET that prevent null entries?
  5. 가 어디에요처럼 면도기에 LINQ 확장 방법을 사용

난 여전히 LINQ를 사용하는 것이 좋습니다. (더 내 목록 5) 이후 그것은 가장 간단하고 안전한 방법입니다.

관련 문제