Предположим, что приложение физически расположено по адресу:
C:\inetpub\wwwroot\MyApplication
. Оно было преобразовано в приложение через IIS 7.5, и теперь я могу получить доступ к приложению через ...
http://localhost/MyApplication
... так как будет задействован маршрут по умолчанию.Если я позвоню ...
http://localhost/MyApplication/MyRequest
... будет задействован тот же маршрут, и будет получена нужная страница.Проблема заключается в том, что вышеупомянутый URL-адрес является формой, и при отправке этой формы я вызываю действие в том же Controller
, но не маршрутизируется соответствующим образом.Полученный URL-адрес ...
http://localhost/MyRequest/MyMethod
против ...
http://localhost/MyApplication/MyRequest/MyMethod
Единственный маршрут в приложении: ...
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Этопроблема маршрутизации?JS (jqueryUI и т. Д.), Который находится в папке «Сценарии», также не загружается, как будто все настроено для размещения на корневом уровне в иерархии, а добавление в папку MyApplication в IIS бросило вещи дляцикл.
ОБНОВЛЕНИЕ :
Определение формы выглядит как ...
<form class="..." action="/Request/Add" method="post" id="requestForm">