2013-03-11 278 views
0

我在我的MVC Web應用程序中定義了MVC控制器。我在控制器中定義了5個不同的動作名稱。所有的行動都在做不同的事情。ASP.Net MVC控制器

我想要做的是在global.asax中定義一個常見的MVC路由,而不是5個不同的MVC路由。我在global.asax文件中定義了一條這樣的路線。

routes.MapRoute(
      "Action1/1", // Route name 
      "xyz/check-data1", // URL with parameters 
      new { controller = "CheckDate", action = "Check1" } // Parameter defaults 
     ); 

我需要5條不同的路線,因爲這5條不同的路線將在我的網頁中被稱爲5個超鏈接。

我不想複製和粘貼上面的路線,並創建5個不同的路線。 例如我可以像下面這樣定義一條路線。

routes.MapRoute(
      "Action2/2", // Route name 
      "xyz/check-data2", // URL with parameters 
      new { controller = "CheckDate", action = "Check2" } // Parameter defaults 
     ); 

請在此建議我。

回答

2

的典型模式是,以規範自己的行爲,使他們能夠與默認路由的工作:

/{Controller}/{Action}/{id?} 

如果你不打算使用標準動作,那麼你別無選擇,只能到指定的路線單獨和手動。

但是,有一個名爲AttributeRouting的nuget軟件包,可讓您使用屬性在操作本身上指定路由。如果你要處理很多自定義路線,這通常更容易,更流暢。