2010-04-28 151 views
1

現在這可能是一個愚蠢的問題,但我是新來的mvc,似乎無法得到它的工作。ASP MVC路由

這是我想做什麼就能做的URL /路線:

1)www.domain.com/name/home/index
2)www.domain.com/home/索引

其中家庭控制器都是單獨的控制器和名稱部分將非常,但都必須去同一個控制器,名稱應該是一個參數的所有行動在那裏。

這是可能的嗎?謝謝你的幫助。

+0

這似乎是一個可怕的,可怕的設計只是由它的描述是多麼複雜的象徵。你爲什麼想做這個? – 2010-04-28 15:18:55

回答

0

這可能不是你要找的答案,但我認爲,這將是更常見的看到

www.domain.com/home/index 
www.domain.com/home/index/name

我最初的想法是,一個重載Index操作方法將是有意義的,但Daniel指出這是不允許的(至少不是以我建議的方式)。

更新答案...

Index操作方法可能需要string name說法,你的路線需要包含類似

routes.MapRoute(
    "Default", 
    "{controller}/{action}/{name}", 
    new { controller = "Home", action = "Index", name = "" } 

在你的操作方法快速null檢查會告訴你網址中是否包含name

+0

除了方法簽名和HTTP動詞不同外,您不能重載ASP.NET MVC中的操作。 – 2010-04-28 15:20:09

+0

@丹尼爾:你說得很對。我已經更新了我的答案。 – 2010-04-28 15:34:37