Я видел пару подобных вопросов/ответов, но мне все еще кажется, что что-то не хватает. Все работает нормально, пока я не обновляю страницу или не перейду к URL-адресу напрямую.Angularjs route html5Mode прямой url .net MVC
Я могу либо получить 404, либо создать тот же url в mvc, но затем он обслуживает частичное только при обновлении и не включает страницу макета.
Там было несколько, что предложил изменить маршрут MVC к:
routes.MapRoute(
name: "Application",
url: "{*url}",
defaults: new { controller = "Home", action = "Index" }
);
Когда это будет реализовано, это означает, что я не могу получить доступ к любой другой URL на сайте, как правило, и если я не хватает чего-то, в основном, все должно быть помещено в api отдыха или написать собственный маршрут для каждого URL-адреса. Ничего хорошего.
Итак, как я могу получить URL-адрес html5 (без хеш-тегов в действительных браузерах) с помощью angularjs и иметь возможность просматривать, например. Главная/О программе или Домой, затем щелкните ссылку «О программе» и укажите, что они отображаются на той же странице основного макета.
Я думаю, что это то, что вы ищете http://stackoverflow.com/questions/25730797/asp-net-mvc-hosting-angular-app-with-html5mode-and-routing – Teliren
Это похоже на то, что он говорит тоже самое. Перепрограммируйте все запросы. Нежелание использовать вызовы API для всего кажется более сложным, чем я мог бы предположить. Думал написать фильтр в MVC, чтобы перенаправить все неаакс-запросы, но, возможно, есть лучший способ. – VirtualLife