Я пытаюсь написать тяжелую часть своего веб-приложения Asp.net MVC с javascript (эта часть веб-сайта является RIA с использованием Extjs) . Тем не мение, Я застрял в правильном способе обработки URL-адресов в javascript.
Например, прямо сейчас у меня есть Ajax-вызов действия List
в ObjectsController
, который находится в области Чтение
. Действие List принимает параметр documentId
(int). На данный момент это отображается в / Reading / Objects / List
, так как я еще не изменил маршрутизацию (сайт пока слишком молодой, чтобы окончательно определять маршруты). Обычно в представлении, чтобы поместить этот URL в строку, я бы сделал @ Html.Action ("List", "Objects", new {area = "Reading", documentId = 3)
.
Однако это не работает при работе с javascript, поскольку javascript не анализируется средством просмотра.
Чтобы обойти это, У меня очень маленькое представление, которое возвращает константы javascript, такие как URL-адреса, которые загружаются до файлов js моего основного приложения. Проблема в том, что я не могу вызвать Html.Action
для этого действия, потому что при постоянном времени создания я (очевидно) не знаю, какой documentId будут вызовы ajax, и если вы исключите documentId
из вызова Html.Action
возникает исключение. DocumentId может измениться во время обычного рабочего процесса приложения.
Как мне с этим справиться? Я не хочу жестко указывать URL-адрес на / Reading / Objects / List
, потому что, если я изменю свою маршрутизацию для этого (для более удобного json API), или это веб-приложение не размещено на корень домена, URL-адрес больше не будет действительным.
Как все остальные обрабатывают URL-адреса MVC в своих вызовах javascript?