Маршрутизация 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();
Я немного исправлю эту ошибку!