2014-01-20 9 views
0

컨트롤러 이름에 .html 중에서 확장을 허용하는 방법은 다음과 같습니다 TestControllerAsp.net MVC 라우팅 - MVC 라우팅

액션 이름은 다음과 같습니다 HtmlContent

및 URL : 로컬 호스트 : 53907/ko 페이지/Index.html을

확장자가 .html 인 url의 경우 TestController에서 HtmlContent 액션을 호출하고 싶습니다.

나는

routes.MapRoute(
    name: "MyCustomRoute", 
    url: "en_US/{pagename}", 
    defaults: new { controller = "Test", action = "HtmlContent" }, 
    constraints: new {pagename = @".*?$(?<=\.html)" } 
); 

방법이 요구 사항에 대한 라우팅을 작성, HtmlContent에 중단 점을 배치했지만 내가 위에서 언급 한 것처럼 URL을 입력하면 타격되지는? 내가 HTML과 HTML을 추가 한

+1

http://stackoverflow.com/questions/9331516/asp-net-mvc-routing -add-html-extensions-to- –

+0

문제가 해결되었습니다.

답변

0
routes.MapRoute(
     name: "MyCustomRoute", 
     url: "en_US/{pagename}", 
     defaults: new { controller = "Test", action = "HtmlContent" } 
     constraints: new {pagename = @"(.*?)\.(html|htm)" } 
      ); 

참고 얼마나 사용하거나 표현

+0

를 다음 코드로 대체하십시오.

0
routes.MapRoute(
name: "MyCustomRoute", 
url: "en_US/{pagename}.html", 
defaults: new { controller = "Test", action = "HtmlContent" }, 
constraints: new {pagename = @".*?$(?<=\.html)" } 

)를 보여;

와의 Web.config에 코드를 추가

<add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 

나를 위해 그 일 모든 쿼리 댓글 호야 경우