ASP.NET MVC - Получение значений QueryString

Вместо вызова всех данных контента во время метода ngOninit (), который иногда никогда не используется, вы можете прикрепить обработчик событий (ngClick) к вашей вкладке ngb, например:

<ngb-tab *ngFor="let category of categories" (ngClick)="selectedTab(category.id)" [title]="category.name" [id]="category.id">
<ng-template ngbTabContent>
    <!-- Here we will have some content.
This content comes from the API which takes category.id as a param -->
  </ng-template>
</ngb-tab>

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

@Component({...})
export class someComponent{
/* constructors private members bla bla */

  selectedTab(id:int):any{
//call your service which makes http call to get content for your selected tab
    getContent(id);
   }
}

надеюсь, что ответ на ваш вопрос!

70
задан Liam 15 May 2018 в 13:51
поделиться

3 ответа

Параметры строки запроса могут быть приняты просто при помощи аргумента на действии - т.е.

public ActionResult Foo(string someValue, int someOtherValue) {...}

, который примет запрос как .../someroute?someValue=abc&someOtherValue=123

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

107
ответ дан Liam 24 November 2019 в 13:20
поделиться

Можно всегда использовать Request.QueryString набор как Веб-формы, но можно также заставить MVC обработать их и передать их как параметры. Это - предложенный путь, поскольку это легче, и это проверит тип входных данных автоматически.

24
ответ дан Mehrdad Afshari 24 November 2019 в 13:20
поделиться

Я рекомендую использовать свойство ValueProvider контроллера, очень в способе, которым UpdateModel/TryUpdateModel делают для извлечения маршрута, запроса и требуемых параметров формы. Это сохранит Ваши сигнатуры методов от потенциального становления очень большим и подверганием частому изменению. Это также делает немного легче протестировать, так как можно предоставить ValueProvider к контроллеру во время модульных тестов.

7
ответ дан tvanfosson 24 November 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: