Я опубликовал свое ASP. NET MVC веб-приложение для IIS, и оно открывает мои первые две страницы (Логин и Домой), однако в моей панели навигации у меня есть несколько меню (ссылки <a>
) с href. (например, href = "/ Users / Index")
Когда я открываю свое приложение в браузере, оно показывает: http://localhost/AppName/Home
, когда я нажимаю меню элемент на моей панели навигации не добавляет имя приложения и не отображает мое представление: http://localhost/User/Index
и отправляет HTTP-ошибку 404.0 - не найдено
Очевидно, что если я добавлю AppName вручную, он откроет представление.
Этого не происходит в VS IDE, но когда я публикую sh его в IIS, маршрутизация не работает.
Есть идеи ??
RouteConfig.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Login", action = "Index", id = UrlParameter.Optional }
);
}
Ссылка на Navbar
<a href="/User/Index" class="dropdown-toggle"> Users</a>
Мой web.config имеет:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"></modules>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>