Я хочу связать URL-адрес своей страницы с объектом, представляющим фильтр запроса (productName, categoryId и т. д.). Как я могу связать их в blazor со строкой запроса?

@page "/products/{filter}" ... @code {

public Filter filter = new Filter()
{
    SearchedName = "Test",
    CategoryId = 1
};

}

Я хочу что-то подобное. В Asp.Net Core я могу связать объект с формой и строкой запроса, но в blazor у меня возникли проблемы. Можете ли вы дать решение для этого. Заранее спасибо!

1
Emba Ayyub 24 Окт 2019 в 16:29

1 ответ

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

Вместо этого вы должны использовать параметр атрибута компонента, как показано в этом фрагменте кода:

В родительском компоненте создайте экземпляр переменной типа Filter и назначьте ее свойству атрибута фильтра компонента «Продукты».

<products Fitler = "@AFilterInstance" />, в котором вы должны определить свойство параметра, которое будет хранить переданное значение следующим образом:

[Parameter]
public Filter Filter { get; set; }

Надеюсь это поможет...

0
24 Окт 2019 в 20:11