Добрый день!
Если я Вас правильно понял, то маршрут будет такой:
routes.MapRoute(
name: "",
url: "site/{parametr}",
defaults: new { controller = "Home", action = "Index", parametr = "index" }
);
Если Вам необходимо, чтобы значение parametr было равно "index" при запросе главной страницы сайта (т.е. пользователь запрашивает, например, "yoursite.ru"), то самым
первым маршрутом должен быть следующий маршрут:
routes.MapRoute(
name: "",
url: "",
defaults: new { controller = "Home", action = "Index", parametr = "index" }
);
Заметьте, что url пустой. Это соответствует шаблону URL вида "/", поэтому такой маршрут будет работать для корневого URL всего сайта, т.е. для "yoursite.ru".
Для такого маршрута Ваш метод действия должен выглядеть примерно так:
public ActionResult Index(string parametr)
{
if(parametr != null)
{
switch(parametr)
{
case "index":
return View();
default:
//return RedirectToAction("IndexOther", "Home");
//или
return View("IndexOther");
}
}
// Здесь что-то происходит...
return View();
}
либо можно указать переменную parametr со значением по-умолчанию в самом методе действия:
public ActionResult Index(string parametr = "index")
{
switch(parametr)
{
case "index":
return View();
default:
//return RedirectToAction("IndexOther", "Home");
//или
return View("IndexOther");
}
// Здесь что-то происходит...
return View();
}
Честно скажу, я не проверял эти маршруты в, так сказать, рабочей среде. Если у Вас не получится, тогда сообщите об этом, сделаю тестовый проект, проверю.
Надеюсь, смог Вам помочь.
Успехов!