mappageroute для mydomain / product to mydomain / products / product - PullRequest
0 голосов
/ 14 марта 2011

В настоящее время я получаю сообщение об ошибке 404 для любой страницы продукта в форме mydomain / product

Я хотел бы сопоставить их с mydomain / showproduct.aspx? Pagename = product

Isэто что-то вроде route.MapPageRoute ("Product",
"{Prodname}",
"~ / showproduct.aspx"
);Не уверен, что это будет работать, и не уверен насчет строки запроса

1 Ответ

2 голосов
/ 14 марта 2011

Этот URL-адрес, который вы хотите отобразить, больше похож на классический URL-адрес ASP.NET, чем на URL-адрес MVC. В MVC вы ссылаетесь не на физические файлы, а на методы действий в классе контроллера.

В MVC это должно выглядеть примерно так: mydomain / products / show / productname

Маршрут URL по умолчанию должен обрабатывать вышеуказанную структуру URL:

            routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

EDIT:

Если вам нужно сделать это по-другому, попробуйте что-то вроде этого:

    routes.MapRoute(
   "Page",
   "{name}.aspx",
   new { controller = "Page", action = "Index", id = "" }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...