Доступ к параметрам QueryString в Angular при перенаправлении со страницы ASPX - PullRequest
0 голосов
/ 18 января 2020

У меня есть ASP. NET приложение WebForms, в которое я пытаюсь интегрировать Angular.

Для простоты у меня есть Login.aspx и Dashboard.aspx .

В Login.aspx есть кнопка «Войти», и в ее обработчике событий «click» я перенаправляю на Dashboard.aspx с помощью строки кода ниже:

Response.Redirect("Dashboard.aspx?auth-token=abcd1234");

Я интегрировал Angular на странице Dashboard.aspx, и разметка для него выглядит следующим образом:

<head>
    <meta charset="utf-8">
    <base href="/NgDashboard/">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
    <app-root></app-root>
    <script src="runtime-es2015.js" type="module"></script>
    <script src="runtime-es5.js" nomodule defer></script>
    <script src="polyfills-es5.js" nomodule defer></script>
    <script src="polyfills-es2015.js" type="module"></script>
    <script src="styles-es2015.js" type="module"></script>
    <script src="styles-es5.js" nomodule defer></script>
    <script src="vendor-es2015.js" type="module"></script>
    <script src="vendor-es5.js" nomodule defer></script>
    <script src="main-es2015.js" type="module"></script>
    <script src="main-es5.js" nomodule defer></script>
</body>

Теперь, когда я запускаю asp. net Login.aspx приложения, у меня есть URL-адрес:

https://localhost:44303/Login.aspx

И когда я нажимаю «Логин», я хочу, чтобы URL-адрес был следующим:

https://localhost:44303/Dashboard.aspx?auth-token=abcd1234

Для предотвращения Angular из-за изменения URL-адреса, я сделал приведенное ниже изменение для AppRoutingModule (согласно этой ссылке ):

RouterModule.forRoot(routes, {
      initialNavigation: false
    })

Я не добавил никаких других маршрутов в свое приложение angular. Поэтому я пытаюсь прочитать параметр строки запроса 'auth-token' внутри AppComponent с помощью приведенного ниже кода:

ngOnInit(): void {
    this.route.queryParams.subscribe(params => {
      this.queryStringAuthToken = params["auth-token"];
    });

Теперь, хотя я могу получить URL-адрес, как и ожидалось, angular приложение не может прочитать параметр строки запроса.

Итак, как мне прочитать параметры строки запроса из Angular, когда я перенаправляю с одной страницы aspx на вторую страницу aspx, которая имеет angular приложение внутри него?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...