2013-08-26 46 views
1

如何使用我的擴展創建正確的MapRoute? (e.x.「我的」)。 此圖路線是正確的MapRoute與我的擴展

routes.MapRoute(
     name: "Default", 
     url: "{controller}.my/{action}/{id}", 
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
    ); 

但我想用controller.my?id。 此圖路線是錯誤的

routes.MapRoute(
    name: "", 
    url: "{controller}.my/{tid}", 
    defaults: new { controller = "Home", action = "Index", tid = UrlParameter.Optional } 
); 

回答

0

我認爲,如果你在圖路線添加參數,你不能簡單地把它們作爲查詢字符串。

刪除您想使用它們從圖路線查詢字符串的參數,只需在操作方法使用它們:

routes.MapRoute(
    name: "", 
    url: "{controller}.my", 
    defaults: new { controller = "Home", action = "Index" } 
); 

操作方法:

public ActionResult Index(string tid) // or int tid ... 
{ 
    // ... 
} 

所以,你可以通過訪問像~/Home.my?tid=someThing

+0

謝謝,但〜/ Home.my?tid = someThing有404響應; 〜/ Home.my/Index?tid = someThing - 很好。 – user2666676

+0

@ user2666676 - 現在我還沒有任何想法......你確定有可能......? – AminSaghi

+0

@ user2666676您是否在上面的答案中添加了他們建議的路線?你確定在默認路由之前添加它(如果你有)? – asymptoticFault