Он должен принимать «строку» данных, представляющую элемент, и использовать ее для создания страницы. .
вот код кнопки для доступа к веб-странице с индексной страницы:
Код: Выделить всё
@page "/"
@inherits VehicleDataModel
Vehicle Data
@if (vehList == null)
{
Loading...
}
else
{
@if (vehList.Count > 0)
{
Vehicles
@foreach (var veh in vehList)
{
@veh.VehicleNumber
[url=/vehiclelist/edit/@string.Format(@veh.VehicleNumber)]Edit[/url]
Delete
else
{
[h4]No record found[/h4]
}
Код: Выделить всё
@page "/vehiclelist/add"
@page "/vehiclelist/edit/@string.Format({vehID:string})"
@inherits AddEditVehicleModel
@Title Vehicle
Vehicle
Save
Cancel
Код: Выделить всё
using Microsoft.AspNetCore.Components;
using Fireserver.Data;
using Fireserver.Models;
namespace Fireserver.Pages
{
public class AddEditVehicleModel : ComponentBase
{
[Inject]
protected VehicleService VehicleService { get; set; } = null!;
[Inject]
public NavigationManager? UrlNavigationManager { get; set; }
[Parameter]
public string? vehID { get; set; }
protected string Title = "Add";
public Vehicle veh = new();
protected override async Task OnParametersSetAsync()
{
if (vehID != null)
{
Title = "Edit";
veh = await VehicleService.Details(vehID);
}
}
protected async Task SaveVehicle()
{
if (veh.VehicleNumber != null)
{
await Task.Run(() =>
{
VehicleService.Edit(veh);
});
}
else
{
await Task.Run(() =>
{
VehicleService.Create(veh);
});
}
Cancel();
}
public void Cancel()
{
if (UrlNavigationManager != null)
{
UrlNavigationManager.NavigateTo("/");
}
}
}
}
В идеале он должен отправить меня на новую страницу с описанием элемента, на который щелкнули, как части отображаемого URL-адреса. элемент в формате, подходящем для его редактирования.
У меня есть основная функция, которая должна работать, реализованная в приведенном выше коде, а также еще одна, прокомментированная, чтобы показать оригинальный способ ее настройки.
Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-blazor