Настройка роутинга Url-параметров с Action по умолчанию ASP.NET MVC?

Добрый день, @user.Name

Имею следующий метод RouteConfig:
public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Catalog",
                url: "Catalog/{category}",
                defaults: new { controller = "Catalog", action = "Index" }
            );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

метод класса CatalogController:
public ActionResult Index(string category)
        {
            return View(category);
        }

и представление ~/Views/Catalog/Index.cshtml
@model string
@{
    ViewBag.Title = Model;
}
@Model


Пытаюсь обратиться к адресу http:/localhost:51125/Catalog/Test, и ожидаю увидеть представление с переданным параметром Test в модель представления, но вижу в ответ
Ошибка сервера в приложении '/'.

Не удалось найти представление "Test" или его образец, либо ни один обработчик представлений не поддерживает места поиска. Выполнялся поиск в следующих местах:
~/Views/Catalog/Test.aspx
~/Views/Catalog/Test.ascx
~/Views/Shared/Test.aspx
~/Views/Shared/Test.ascx
~/Views/Catalog/Test.cshtml
~/Views/Catalog/Test.vbhtml
~/Views/Shared/Test.cshtml
~/Views/Shared/Test.vbhtml


Подскажи пожалуйста, что я делаю не так?
  • Вопрос задан
  • 808 просмотров
Решения вопроса 1
category в данном случае воспринимается как имя view из за перегрузки, приводи к object return View(category as object);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы