Маршрутизация Angular 8 интегрирована со страницей CS HTML - PullRequest
0 голосов
/ 25 мая 2020

Поскольку я интегрировал в HomeController внутри его Index.cs html после использования ng build --deploy-url=~/LogisticAppUI/dist/, а затем копирования из dist кода Index. html и вставка его в Index.cs html, вот код ниже для Index.cs html.

@{
    Layout = null;
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>Color Admin</title>
    <base href="/">
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
    <meta content="" name="description" />
    <meta content="" name="author" />

    <link rel="icon" type="image/x-icon" href="favicon.ico" />
</head>
<body detect-scroll (onScroll)="handleScroll($event)">
    <app>
        <!-- begin #page-loader -->
        <div id="page-loader" class="fade show"><span class="spinner"></span></div>
        <!-- end #page-loader -->
    </app>
    <script src="~/LogisticAppUI/dist/runtime.js" defer></script>
    <script src="~/LogisticAppUI/dist/polyfills-es5.js" nomodule defer></script>
    <script src="~/LogisticAppUI/dist/polyfills.js" defer></script>
    <script src="~/LogisticAppUI/dist/styles.js" defer></script>
    <script src="~/LogisticAppUI/dist/vendor.js" defer></script>
    <script src="~/LogisticAppUI/dist/main.js" defer></script>
</body>
</html>

Теперь, когда страница работает правильно, она входит в систему по мере необходимости, вот скриншот страницы, к которой я открываюсь после нажатия Сотрудники .
Route Теперь, если я снова нажму на URL выше, он покажет мне это.
enter image description here
Насколько я знаю, это пытается получить доступ по имени Контроллера , но его нет в API знаю, что я хочу получить к нему доступ только внутри Angular, если я попытаюсь нажать URL снова вместо того, чтобы искать его в WebApi , он должен работать только тогда, когда я использую POST и GET , который правильно работает, как показано ниже.

StaffInfoAdd(_Staff: Staff,ProfilePicFile: File) {

        const fData = new FormData();
        fData.append('Id', _Staff.Id == null ? '' : _Staff.Id.toString());
        fData.append('FirstName', _Staff.FirstName);
        fData.append('SendEmail', _Staff.SendEmail.toString());
        fData.append('SendPhone', _Staff.SendPhone.toString());
        fData.append('Password', _Staff.Password);

        if(ProfilePicFile != null){
            fData.append('FileUpload', ProfilePicFile, ProfilePicFile.name);
        }
        const hdrs = new HttpHeaders().append('Content-Disposition', 'mulipart/form-data');
        this.http.post(HostedPathConst.HostedPath + `Staff/Register`, fData, {headers:hdrs})
            .subscribe(this.Success, this.Error);
        this.messageStaffSource.next(_Staff);        
    }

    GetStaff(): Promise<any> {
        const promise = this.http.get(HostedPathConst.HostedPath + `Staff/GetStaff`).toPromise();
        return promise;
    }

Это работает нормально, когда я использую независимо для Angular 8 в Код Visual Studio , но когда я интегрирую его с Visual Studio 2019 с API начинает поиск Контроллер имя при нажатии URL .

1 Ответ

0 голосов
/ 25 мая 2020

Привет, я думаю, вам нужно добавить useHash: true в app-routing.module.ts. Он должен выглядеть как код ниже.

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true })],
  exports: [RouterModule]
})
export class AppRoutingModule { }
...