내 컨트롤러의 초기화 함수에서 호출 할 함수를 결정할 수 있기를 원합니다. 예를 들어 경로에서 Controller:MyFunction
이 호출되어야한다고 지시하는 경우 Initialize 함수에서 해당 값을 재정의하고 MyFunction2
을 호출합니다. 이것을 어떻게 할 수 있습니까?MVC : 컨트롤러 초기화 함수 내에서 새 함수로 리디렉션 요청
여기 왜 내가 필요한지에 대한 더 나은 이해를 얻으려면 현재 시나리오가 필요합니다.
고객 담당자가 있습니다. 고객은 제품 목록을 가지고 있습니다. 고객에게 특정 제품이있는 경우 추가 탐색 요소를 추가하고 새 기능을 처리 할 수 있기를 원합니다. 그래서 여기에 의사 코드에
는
Receive request
Check if request matches any specialisation classes we have
If (match) then call SpecialClass::SpecificRequestFunction
나는 모든 고객의 물건을 다루는 표준 고객 컨트롤러가 있지만이 방식으로 작동 거라고 어떻게 생각하고있다 나는 그 제품에 대한 전문성을 필요로하는 경우 I 해당 코드를 재사용 할 수있는 모든 이점을 지닌 고객 컨트롤러를 계속 사용할 수는 있지만 전문 기능을 추가 할 수 있습니다.
나는 이것이 의미가 있기를 바랍니다.
Ahh looks perfect !!! 한 가지 질문 : 'RedirectToAction'이 실제로 사용자를 리디렉션합니까 아니면 단순히 새 액션을 호출합니까? 이 모든 과정에서 URL이 정확히 동일하게 유지되기를 바랍니다. 감사합니다 – Chris
RedirectToAction은 실제로 URL을 그대로 유지하는 것과 달리 URL을 리디렉션합니다.이 문제를 어떻게 해결합니까? – Chris
옵션 3 (컨트롤러에 도달하기 전에 요청을 가로 채기)을 수행하거나 원래 경로의 동작 내에서 작업을 실행하여이 문제를 해결할 수 있습니다. –