입력 된 문자열 또는 슬러그 (예 : 만들기 또는 편집보기)의 함수/메소드를 코딩하려는 경우 데이터 저장소로 이동하여 해당 문자열 또는 슬러그가 있는지 여부를 확인하고이 경우 링크를 작성하십시오. 당신은 어디에 넣을까요?ParseUrl() 또는 ASP.NET MVC에서 데이터 저장소에 대해 작동하는 비슷한 함수를 넣을 위치는 어디입니까?
예를 들어, 작성 또는 편집 양식에 "링크"텍스트 상자가 있습니다. 기존 jQuery 자동 완성을 사용하여 기존 페이지 슬러그를 검색합니다.
~/Page/Display/some-slug
하거나
~/Page/some-slug
경우 : 사용자가 그 중 하나를 선택하기로 결정하면, 우리는이 같은 페이지 컨트롤러를 기반으로 사이트 내 컨텐츠를 가리키는 링크를 만들 것 그러나 사용자는 www.google.com과 같은 항목을 선택하지 않기로 결정하고 ParseUrl()에서 캐싱하고 http : // ... 등으로 형식을 지정하여 저장합니다.
함수 코드는 문제가 없으며 현재 모델 바인더에서 작업하고 있습니다. 그러나 Model Binders에서 DI를 사용하는 이상하고 혼란스럽고 반대되는 관행 때문에 다른 곳으로 옮기고 싶습니다. 또 다른 이유는 모델 바인더에서 데이터 액세스 코드를 제거하는 것입니다.
질문은 - 그러한 기능을 어디로 옮길 것입니까? 가능한 경우 다양한 컨트롤러 작업에서 ParseUrl() 호출을 반복하지 않도록하고 싶습니다.
모델 바인더의 DI에 대한 인수 : http://stackoverflow.com/questions/2899680/how-to-use-ninject-or-other-di-ioc-container-with-the-model-binder-in -asp-net 모델 바인더의 DI에 대한 인수 및 코드 : http://iridescence.no/post/Constructor-Injection-for-ASPNET-MVC-Model-Binders.aspx http://www.dominicpettifer.co .uk/blog/39/dependency-injection-in-asp-net-mvc-2 --- part-2 - modelbinders-viewmodels – mare