От новичка до гуру: Курсы программирования на CyberDuff

Проблема маршрутизации MVC

Я изучаю MVC, и мне нужно понять, почему он не работает так, как должен.

Вот моя маршрутизация:

public static void RegisterRoutes(RouteCollection routes)
    {

        // Note: Change the URL to "{controller}.mvc/{action}/{id}" to enable
        //       automatic support on IIS6 and IIS7 classic mode

        //http://localhost/store/category/subcategory/product

        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


        routes.MapRoute(
            "Category",                                              // Route name
            "store/{category}/{subcategory}",                        // URL with parameters
            new
            {
                controller = "Catalog",
                action = "Index",
                category = "Featured Items",
                subcategory = "All Items"
            }
        );


        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }, // Parameter defaults
            new { controller = @"[^\.]*" }                          // Parameter constraints
        );


    }

Как я понимаю маршрутизацию, я должен видеть следующий URL-адрес при запуске веб-приложения:

http: / локальный / магазин /

Я получаю второй маршрут ....

Кроме того, если я изменю второй маршрут на «home / {action} / {id}», он не поймает ни одного маршрута.

Не могли бы вы помочь мне понять это, пожалуйста .. Спасибо


Ответы:


1

В маршрутах не указан URL-адрес по умолчанию; URL-адрес по умолчанию обрабатывается вашим приложением. Маршрутизация указывает, что когда он видит http://localhost/store/bikes/mountain, он будет использовать каталог контроллера. Но это не указывает URL-адрес по умолчанию; вы должны ввести это в свойствах проекта.

Я бы рекомендовал не изменять второй, потому что, если вы не создаете группировки для всех своих контроллеров, лучше всего иметь значение по умолчанию как таковое, чтобы вы могли перехватить все URL-адреса. Для перехода ко второму URL-адресу потребуется:

http://localhost/home/home/index, чтобы соответствовать действию индекса HomeController, тогда как настройка по умолчанию перехватывает http://localhost/home/index ...

Имеет ли это смысл?

13.01.2010

2

Попробуйте это: http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx

13.01.2010
Новые материалы

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

Игра в прятки с данными
Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

«Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..

Раскройте свой потенциал в области разработки мобильных приложений: Абсолютная бесплатная серия
Глава 6: Работа в сети и выборка данных Глава 1: Введение в React Native Глава 2: Основы React Native Глава 3: Создание пользовательского интерфейса с помощью React Native Глава 4:..

Все о кейсах: Camel, Snake, Kebab & Pascal
В программировании вы сталкивались с ними при именовании переменной, класса или функции. Поддержание согласованности типов и стилей случаев делает ваш код более читабельным и облегчает совместную..

Как работает дистанционное парное программирование и почему оно может изменить вашу жизнь
Серебряная пуля от одиночества и отвлекающих факторов во время обучения программированию Независимо от того, работаете ли вы или учитесь удаленно, велика вероятность, что одиночество и..