c # mvc 3, перегрузка действий?

Я пытался перегрузить свой индексный метод.

Вот мои индексные методы:

[ActionName("Index")]
public ActionResult IndexDefault()
{
}

[ActionName("Index")]
public ActionResult IndexWithEvent(string eventName)
{
}

[ActionName("Index")]
public ActionResult IndexWithEventAndLanguage(string eventName, string language)
{
}

Это продолжает приведение:

Текущий запрос на действие «Индекс» для типа контроллера 'CoreController' неоднозначен между следующими методами действия: System.Web.Mvc.ActionResult IndexDefault () для типа ManageMvc.Controllers.CoreController System.Web.Mvc.ActionResult IndexWithEvent (System.String) для типа ManageMvc.Controllers.CoreController System.Web.Mvc.ActionResult IndexWithEventAndLanguage (System.String, System.String) для типа ManageMvc.Controllers.CoreController

Нельзя ли перегрузить действие индекса с помощью 3 различных методов GET?

Кроме того, если это возможно, какой будет правильный маршрут? У меня есть это:

routes.MapRoute(
                "IndexRoute", // Route name
                "{eventName}/{language}/Core/{action}", // URL with parameters
                new { controller = "Core", action = "Index", eventName = UrlParameter.Optional, language = UrlParameter.Optional }
);

URL-адрес будет выглядеть так:

localhost / Core / Index

localhost / event_name / Core / Index

localhost / event_name / language / Core / Index

9
задан Patrick 16 August 2011 в 12:58
поделиться