В этом нет ничего необычного, но вы можете сделать это с помощью менеджера навигации или привязки маршрута.
- Привязка маршрута
Компонент страницы может иметь несколько маршрутов. Вы можете воспользоваться этим для простых двоичных случаев, таких как разделение логики между страницей добавления и редактирования.
@page “/modifyperson”
@page “/modifyperson/{Id}”
@if(isEdit)
{
}
@code
{
[Parameter]
public string Id {get; set;}
bool isEdit;
protected override void OnInitialized()
{
if(!String.IsNullOrEmpty(Id))
IsEdit=true;
}
}
Диспетчер навигации
@page ”/myfirstroute”
@page “/mysecondroute”
@inject NavigationManager navManager
@if(lastRouteInfo==PageRoutes.FirstRoute)
{
//do something different
}
@code
{
public enum PageRoutes{FirstRoute,SecondRoute}
private PageRoutes route;
protected override void OnInitialized()
{
string lastRouteInfo= navManager.Uri.Split(“/“).Last();
if(lastRouteInfo==“myfirstroute”)
route=PageRoutes.FirstRoute;
else if(lastRouteInfo==“mysecondroute”)
route =PageRoutes.SecondRoute;
}
}