При обновлении страницы в angular 2 с mvc, я получаю ошибку сервера в ‘ / ‘ приложения?

При обновлении страницы в приложении angular 2 с помощью ASP MVC,
Я получаю сервер Error in '/' Application.

и когда я открываю ссылку в другой вкладке, я получаю ту же ошибку

Какая-нибудь помощь ?

2 ответа

  1. Вы должны включить ведение журнала, чтобы увидеть, что происходит ошибка.

    Как это сделать, зависит от версии MVC, но, похоже, вы не используете .Net Core, поэтому вы можете просто отключить пользовательский режим ошибки.

    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>
    

    Это должно показать вам реальную ошибку, и вы можете выяснить, что не так дальше.

  2. Существует два варианта решения этой проблемы. Вы можете добавить стратегию расположения хэша в модуль приложения.

    import { LocationStrategy, HashLocationStrategy } from '@angular/common';
    
    @NgModule({
    imports: [.... ],
    declarations: [...],
    bootstrap: [AppComponent],
    providers: [
      {
          provide: LocationStrategy,
          useClass: HashLocationStrategy
      }
    ]
    })
    export class AppModule { }
    

    Эта опция будет работать только для частей приложения Angular2, которые живут на контроллере Home ASP

    Ваш второй вариант-добавить маршруты к контроллеру ASP, которые соответствуют вашим маршрутам приложения Angular 2, и вернуть представление «Index»

    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }
    
        [ActionName("Angular-Route1")]
        public IActionResult AngularRoute1()
        {
            return View("Index");
        }
    
        public IActionResult Route2()
        {
            return View("Index");
        }
    }