2010-02-14 3 views

답변

2

이전에 ActionFilters를 사용해 보았습니다. 제 경우에는 모든 페이지에 스폰서 목록이 필요했습니다.

http://weblogs.asp.net/psteele/archive/2009/11/04/using-windsor-to-inject-dependencies-into-asp-net-mvc-actionfilters.aspx

+0

깨끗한 솔루션이지만 공통된 선택 목록이 너무 많습니다. 5 가지 필터를 만들고 싶지 않습니다. 더 좋은 방법은 다음 필터가 있습니다. – Amitabh

+0

"Better"는 상대적인 용어입니다. 5 가지 필터를 작성하면 ViewData에서 특정 데이터 세트가 필요한 액션과 컨트롤러를 최대한 유연하게 결정할 수 있습니다. 사실, 뷰어 데이터에 입력해야하는 드롭 다운 데이터를 나타내는 매개 변수 (아마도 열거 형 목록)를 허용하는 단일 필터를 만들 수 있습니다. 개별 필터만큼이나 싫지만 단일 필터로 안내합니다. – PatrickSteele

+0

@Patrick Steele ASP.NET MVC에서는 속성 공간이 매우 중요하며 조심하지 않으면 컨트롤러의 코드 줄보다 많은 특성을 갖게된다는 문제가 있습니다. – jfar

0

이러한 뷰 기준 뷰 모델을 준비하고 특정 뷰에서 데이터를 상속하여 강화해야 내 응용 프로그램에서

class BaseViewModel 
{ 
    List<string> Countries; 
    List<string> States; 
} 

나는 캐시 사전을 보유하고 객체를 만들었습니다. IApplicationCache 인터페이스 (저 작성, 사용 된 사전 목록을 반환)를 구현합니다.이 인터페이스는 비즈니스 로직 계층에 주입되어 뷰 모델을 채우는 데 사용됩니다.

+0

는하지만 우리는 여전히 각각의 선택 목록을 사용하는 모든 행동에 인구 논리를 반복해야합니다. – Amitabh

+0

@Amitabh : 뷰 모델 생성자에서 채우거나 외부 메소드를 정의하여 해당 메소드 만 호출 할 수 있습니다. – LukLed

+0

템플릿 HTML 도우미에서 UIHint로 DropDownList를 사용하면 어떻게 될까요? – Amitabh

관련 문제