2014-01-20 97 views
0

控制器名稱是:Asp.net MVC路由 - 如何讓.html擴展MVC中路由

的TestController

動作名稱:HtmlContent

和Url:本地主機:53907/EN_US/index.html中

如果url包含.html擴展名,我想從TestController調用HtmlContent動作。

我已經把斷點HtmlContent,但如果我輸入網址上面提到像它不打,

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

如何編寫路由這一要求?

+1

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

+0

感謝它解決了我的問題。請輸入代碼

回答

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

注意:我已經添加HTML和HTML只是向您展示如何使用或表達

+0

Replace your與我的路由 –

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" /> 

它的工作對我來說,如果有任何疑問,請您及時發表評論