2011-12-20 65 views
0

我有一些符合{控制器}/{動作}模式的網址。MVC:將帶有短劃線的路由參數轉換爲下劃線以指定動作名稱?

我的問題是,我想爲第二個參數(動作)使用多個短劃線的單詞。由於短線沒有在動作的方法名稱允許,我不能圖這個模式只有一個映射,我必須採取一個新的映射爲每一個新動作,就像這樣:

routes.MapRoute(
    "ContactUsForm", "forms/contact-us", new { 
     action = "contact_us", 
     controller = "Forms" 
    }); 

我有許多形式需要這種模式,他們的擔憂是不同的,我不能將它們映射到相同的操作方法。

問題 有沒有解決這個簡單的方法,說一些方法來/ {一些串} {映射控制器}在行動「some_string」,並將所有我的表單網址在一個去了?

回答

6

您可以在屬性中指定動作的名稱,並用它在沒有任何航線變化:

[ActionName("some-string")] 
public ActionResult MyActionHere(string id) 
{ 

}