Маршрутизация JavaScript ASP.NET MVC

Предупреждение о спойлере: это СЕЙЧАС вопрос, поэтому приносите свои извинения всем, кто читал это как дискурсивную тему:)

В любом случае, я делал небольшое исследование сегодня, добавляя маршруты через javascript, когда я думал, что немного исследований Google не повредит. В основном, моя цель состояла в том, чтобы покончить со следующим типом конструкции в моих взглядах:

alt text

и замените его чем-то вроде:

alt text

Хорошо, мне повезло немного сегодня, когда я нашел эту фантастическую статью (которая не моя и у меня нет какой-либо принадлежности, кроме уважения к части работы):

http://weblogs.asp.net/zowens/archive/2010/12/20/asp-net-mvc-javascript-routing.aspx

Это действительно было недостающее звено (или так я думал) для меня, когда занимаюсь маршрутами через javascript. Однако пример 2-го кода вводит в заблуждение и фактически не приведет к тому, что приводит пример. Может ли кто-нибудь предложить исправление для этого и/или альтернативного решения, позволяющего это свободное соглашение js-маршрутов в mvc-представлениях?

веселит...

[edit] - вопрос отредактирован 22:16 GMT, чтобы изучить более глубокие варианты по этой теме, а также изменить название (удалена OT).

Ответ 1

Поэтому возникает вопрос, почему второй пример кода не будет работать так, как ожидалось. Здесь ответ, сообщение в настоящее время ничего не возвращает. Это пример определенного разработчика, не рассматривающего детали кода. Когда вы используете homePageUrl, значение будет undefined.

Чтобы получить URL главной страницы, вы должны сделать следующее:

$.routeManager.action({controller:'Home', action:'Index'}).toUrl()

Итак, мораль этой истории состоит в том, что код немного сломан. Пост-действие СЛЕДУЕТ вернуть объект, где вы можете поместить "toUrl()" сразу после выполнения поста, например:

$.routeManager.action({controller:'Home', action:'Index'})
              .post(function(data){ alert(data); })
              .toUrl();

Я немного исправлю эту ошибку!