我在我的MVC路由有點生疏。刪除/索引從瀏覽器URL末尾
我使用的
routes.MapRoute(
"Default",
"{controller}/{action}",
new
{
controller = "Default",
action = "Index",
});
默認路由我有一個控制器:
public class SomeController : Controller
{
public async Task<ActionResult> Index()
所以,通常情況下,這可以用打要麼http://mydomain/Some/Index
- 或 - http://mydomain/Some
在這個特定的控制器上,我想要麼拒絕(404)〜/ Some/Index,要麼只是將〜/ Some/Index重定向到〜/ Some。
這是相對容易的控制器來完成:
public async Task<ActionResult> Index()
{
var p = Request.Url.Segments;
var last = p.Last();
if(string.Equals(last, "index", StringComparison.InvariantCultureIgnoreCase))
{
return RedirectToActionPermanent("Index");
}
但現在看來,像控制器過得去橫切關注點污染。有更清潔的方法嗎?