2010-08-07 2 views
1

나는 예를 들어, 매개 변수를 기반으로 사용자 지정 작업을 실행 내가 작성한 사용자 정의 핸들러를 가지고있다. 매개 변수에 대한 몇 가지 옵션을 가질 수 있습니다 ...컨트롤러 대신 사용자 지정 처리기에 asp.net mvc 라우팅?</p> <p>/액션/옵션 1</p> <p>옵션 1과 액션 핸들러를 실행합니다 :

그러나이 작업은 일반 텍스트를 반환하기 때문에 mvc 컨트롤러가 아닌 사용자 지정 처리기입니다 (향후 json 응답으로 이동할 가능성이 있음). html 페이지.

매개 변수로 옵션을 전달하면 사용자 지정 처리기를 통해 실행되도록 해당 형식의 URL을 어떻게 라우트 할 수 있습니까? 나는 iis7 url 재 작성을 사용했지만 이상적으로 들리지만 더 나은 옵션이 있는지 알지 못했습니다.

감사합니다!

답변

2

텍스트를 반환하는 경우에도 컨트롤러와 작업을 통해 텍스트를 반환해야합니다. 당신의 액션은 단지 ViewResult 대신에 ContentResult를 반환해야합니다. 그런 식으로 당신은 여전히 ​​내장 된 라우팅을 얻었고 필요하다면 나중에 JsonResult를 리턴하도록 변경할 수 있습니다.

+0

깔끔한! 나는 그런 것들이 있는지 몰랐다. 그래서 mvc에서 httphandlers 낙담 무엇입니까? – SelAromDotNet

+0

가능한 한 ActionResults를 사용하는 것이 일반적으로 권장됩니다. 거기에서 파생 된 다양한 클래스 집합이 있습니다. 뷰, 텍스트 및 json 중 하나가 아닙니다. –

+0

덕분에 큰 도움이되었습니다! – SelAromDotNet

관련 문제