我一直在測試一些需要支持的站點的替代方案,例如:帶有一個可選參數的ASP.NET MVC路由site.com/optionalparameter
site.com
site.com/Controller/Action/id
site.com/various.aspx
site.com/optionalparameter <-- these two go to the same controller
site.com/optionalparameter/ <-- these two go to the same controller
我真的需要驗證,如果可選參數是可以接受的,但我可以直接到控制器,將驗證它。其他規則似乎工作到目前爲止,但我還沒有能夠得到單個可選參數的工作。
url中的可選參數可以帶或不帶斜槓「/」(至少不帶)。我發現類似的問題,但他們似乎有「optionalParam/xx/yy」,所以規則有更多的參數,他們似乎工作正常,但這是一個特殊情況轉換非mvc網站使用MVC路由。
我試圖做的一個例子,但沒有工作。
routes.MapRoute(
"optionalParamRoute",
"{name}",
new { controller = "Home", action = "Index", name = "" }
);
這可能嗎?
optionalParamRoute - 我試了一下,definetly工作,也許你有在路由配置其他路由匹配其中** site.com/optionalparameter **這就是爲什麼它不起作用 – testCoder
是的你是正確的,將它移動到RegisterRoutes的頂部捕捉它。謝謝! – lko
請選擇標記我的答案是正確的。 – testCoder