2013-02-15 2 views
0

я что-то очень тривиальный здесь отсутствует, во всех примерах, это работает на странице бритвы:Url.Action создает странные URL

'@Url.Action("GetUserUnits", "MvcAccount")' 

Который должен перевести, который я хочу использовать в JavaScript:

/MvcAccount/GetUserUnits

Но вместо него создает это:

/? Действий = GetUserUnits & контроллер = MvcAccount

Почему? Я должен что-то делать неправильно?

+2

разместим ваш Routing –

+0

Не могли бы вы выкладываю javascript, который использует вызов 'Url.Action'? – levelnis

ответ

2

Bascially у вас что-то перепуталось с вашими маршрутами. @Url.Action не может соответствовать маршрутизации вашего действия.

Это может быть вызвано отсутствием определенной маршрутизации по умолчанию. Обычно вы должны зарегистрировать его при запуске приложения в файле Global.asax.cs.

Например, это может выглядеть следующим образом:

protected void Application_Start() 
    { 
     routes.MapRoute(
      "Default",            
      "{controller}/{action}/{id}",       
      new { controller = "Home", action = "Index", id = "" } 
     ); 
    } 
+0

Контроллер действительно работает (генерирует json), разве это не означает, что маршруты в порядке? – Flores

+0

У меня именно это в моем global.asax – Flores

+0

Также у меня были некоторые дополнительные маршруты, которые ввернули вещи ... (потому что я смешал aspx и mvc) Сейчас он работает – Flores

0

Если вы хотите, чтобы перейти к ->/MvcAccount/GetUserUnits

Использование

@Html.ActionLink("nameOfyourLink", "GetUserUnits", "MvcAccount") 
        [displayName]  [Action]  [Controller] 
Смежные вопросы