IoC에서 뷰의 종속성을 해결할 수있는 좋은 방법이 있습니까? 캐슬 윈저를 기반으로하는 IoC 결정자가 있습니다. IResourceService
이 있는데 일부 문자열을 해결하기 위해 내 의견에 액세스하고 싶습니다.IoC 및 ASP.NET MVC보기
답변
나는 그 내 내 종속성을 해결 extention이 방법 갈 것이다 : 내보기에서
public static class LocalizationExtentions
{
public static string Localize(this HtmlHelper html, string resource)
{
var localize = IoC.Resolve<ILocalize>();
return localize.For(resource);
}
}
: 하루의 끝에서
<h1><%= Html.Localize("MainTitle") %></h1>
컨트롤러에서 해결 한 다음 ViewModel에 넣어 해결 된 인스턴스에 액세스 할 수 있습니까?
아니요, 중복 코드가 많이 추가됩니다. IResourceService를 사용하여 지역화 된 문자열을로드하려고합니다. –
AutoMapper를 사용해 보시고 의존도를 전달할 수있는 사용자 정의보기 모델을 만드십시오. AutoMapper는 많은 중복 코드를 제거합니다. –
저는 Winsor를 사용하지 않지만 코드 숨김이 포함 된보기를 사용할 때 setter 주입이 가능하다고 생각합니다. 왜 뷰에 대한 종속성을 해결 하시겠습니까? 그것은 이상한 일처럼 들립니다.
래퍼를 사용할 수 있습니까? 래퍼 내부에서 직접 Windsor에 서비스를 요청하십시오. 그런 다음 모든 것을 확인 된 서비스로 전달하는 ResourceHelper 클래스를 사용하십시오. 보기의 HtmlHelper 클래스처럼 ResourceHelper 클래스를 사용할 수 있습니다.
나는 이미 이것을 가지고있다. –
원본을 다운로드하고 기꺼이 수정하고 사용 하시겠습니까? 그렇다면 웹 폼 뷰 엔진에 대한 약간의 변경을 통해 할 수 있으므로 빌드 관리자가 컴파일 된 페이지 개체를 만든 후에 속성 주입을 할 수 있습니다.
그렇지 않으면 기본 컨트롤러를 만들고 동작 실행 방법을 무시하고 뷰 데이터에 삽입하지 않는 한 추해집니다. 편집
http://aspnet.codeplex.com/sourcecontrol/changeset/view/23011?projectName=aspnet#266535
는 viewInstance 당신의 널 (null) 검사는 재산 주입을 위해 서비스 로케이터를 요청할 수있는 권리 후, 페이지 인스턴스를 생성 처리하는 파일입니다.
- 1. asp.net mvc보기 검색 및 편집
- 2. 조건부 특성 - Asp.Net MVC보기
- 3. 대체 asp.net MVC보기 엔진
- 4. ASP.NET MVC보기 모델보기
- 5. Asp.Net MVC보기 : 만들기 및 관계 테이블
- 6. ASP.Net MVC보기 및 컨트롤러 파일 구조
- 7. asp.net mvc보기 및 강력하게 형식화 된 viewdata
- 8. 제네릭을 사용하여 ASP.NET MVC보기/부분
- 9. VB.NET에서 작동하도록 ASP.NET MVC보기 설정
- 10. ASP.NET MVC보기 추가 대화 닫기
- 11. ASP.NET MVC 및 IoC - 체인 주입
- 12. ASP.Net 환경의 ServiceLocator/IOC
- 13. MVP의 IoC Asp.NET
- 14. Asp.net MVC보기 특정 항목이 텍스트 상자
- 15. MVC보기 및 System.Speech.Synthesis 네임 스페이스
- 16. 내 데이터베이스에있는 세 개의 테이블이 ASP.Net MVC보기
- 17. asp.net mvc보기 페이지에 webform 컨트롤이 있습니까?
- 18. 컨트롤러를 작성하지 않고 간단한 ASP.NET MVC보기
- 19. ASP.NET MVC보기 - 승인 된 항목 표시
- 20. WebForms 응용 프로그램 내에서 ASP.Net MVC보기
- 21. ASP.NET MVC보기 코드 포맷 - <% } %>
- 22. IoC 및 이벤트
- 23. 스몰 토크 및 IoC
- 24. IoC 및 디자인 타임
- 25. StructureMap (및 IoC) 및 WCF
- 26. MVC보기 고정
- 27. 봄 MVC보기
- 28. MVC보기 도움말
- 29. ASP.NET MVC 및 IoC 구성 설정을 동적으로 변경하십시오.
- 30. 자동 새로 고침 MVC보기
는, 당신은 어떻게 당신의 서비스를 호출하는 구상 않습니다 보기 자체를 볼 수 있습니다. 그 점에서 당신의 목표는 무엇입니까? 견본보기는 어떻게 보입니까? 어쩌면 실제로 뷰에 자동 종속성 주입을하지 않고도 목표를 달성 할 수있는 다른 방법을 찾을 수 있습니다. – NerdFury