2013-07-10 1 views
0

У меня есть все значения по умолчанию в моем домашнем контроллере, а также в файле routeeconfig.cs.Как удалить действие индекса с Homecontroller

Пытаюсь следующие действия:

abc:111/ --> runs Index() method 
abc:111/Home --? runs Index() method 
abc:111/Home/Index --? runs Index() method 
abc:111/Home/Index/One --? runs Index() method 
abc:111/Home/One --? error 

Я хотел бы выполнить дома/один через мой индекс() метод

+0

Итак, что вы хотите, так это то, что каждый Home/foo, который не существует, перенаправляет на Home/Index вместо этого? – Mads

+0

Это может быть решение, но мне бы хотелось, чтобы Home/One выполнял метод Index напрямую. Есть ли что-нибудь, что мне нужно изменить в таблице маршрутизации? – user2568160

ответ

0

Смотреть это: asp-net-mvc-routing-overview

+0

thanx, но я не нашел ответа в этой статье. – user2568160

+0

Да, но если вы видите статью, вы можете это сделать. это так просто –

+0

sry, все еще не могу понять это. – user2568160

0

Я думаю, самый простой раствор будет

public ActionResult One(int id) 
{ 
    return Index(); 
} 
+0

Это может быть, но параметр «Один» - это параметр. Я не смогу определить, какой параметр будет во время выполнения. Я добавил еще один маршрут в таблицу маршрутов «Главная/{id}», new {Controller = "Home", Action = "Index", id = ""} – user2568160

+0

Вы хотите, чтобы Home/One был направлен в Home/Индекс/Один? – Mads

+0

yeh, это может быть решение – user2568160

0

У вас может быть маршрут отображается следующим образом:

routes.MapRoute(
      "Name", 
      "{controller}/{param}", 
      new { action = "Index" } 
     ); 

Теперь это, конечно, будет ловить Home/Index, но вы можете исправить это, используя ограничения маршрута.

Смежные вопросы