2009-09-10 1 views
1

Мой маршрут выглядит следующим образом:контроллер не подбирая маршрут

routes.Add(new Route("{companyName}/{action}/{id}", new MvcRouteHandler()) 
    { 
    Defaults = new RouteValueDictionary(new { controller = "CompanyController", action = "Index", id = 1 }), 
    } 
    ); 

мои действия:

public ActionResult Index(string companyName, string id) 
    { 
     Response.Write(companyName); 
     Response.End(); 

     return ViePage("~/views/company/index.aspx"); 
    } 

ответ

2

попробовать это:

routes.Add(new Route("{companyName}/{action}/{id}", new MvcRouteHandler()) 
    { 
    Defaults = new RouteValueDictionary(new { controller = "Company", action = "Index", id = 1 }), 
    } 
    ); 

при обращении контроллеров вы не хотите иметь здесь «контрольную» часть имени.

+0

Вам также не нужно указывать фактический путь к файлу страницы просмотра. Структура MVC найдет представление, которое соответствует View/{Controller}/{Action} – scottm

+0

Good Point Scott! также. ViePage не собирается идти далеко. но это, наверное, просто опечатка в сообщении :) – Patricia

+0

ах, добавил контроллер до конца, спасибо Патрисии! – mrblah