Blazor (на стороне сервера) прохождение параметра для просмотра моделиC#

Место общения программистов C#
Ответить
Anonymous
 Blazor (на стороне сервера) прохождение параметра для просмотра модели

Сообщение Anonymous »

Я следил за превосходной серией Blazortrain от Карла Франклина, и после просмотра эпизодов 24 и 25 я попытался принять подход MVVM в моем текущем проекте.@page "/ViewTask/{Id}"
< /code>
До преобразования в MVVM мой код на просмотре был похож на < /p>
[Inject] protected NavigationManager NavigationManager { get; set; }
[Inject] protected IMyService MyService{ get; set; }
[Inject] protected IMyService2 MyService2{ get; set; }
[Inject] protected IMyService3 MyService3{ get; set; }

[Parameter] public string Id { get; set; }

< /code>
В моем новом ViewModel я ввожу службы в конструктор, как показано ниже, однако идентификатор параметра является нулевым. Есть ли простой способ передать параметры в класс ViewModel? Я думаю о том, чтобы сделать метод getWorkTask () общедоступным, принять параметр идентификатора и передать параметр таким образом, но хотел посмотреть, есть ли лучшие способы? < /P>
public class ViewTaskViewModel : IViewTaskViewModel
{
public ViewTaskViewModel(NavigationManager navigationManager,
IMyService myService,
IMyService2 myService2,
IMyService3 myService3)
{
NavigationManager = navigationManager;
MyService = myService;
MyService2 = myService;
MyService3 = myService3

InitializeViewModel().GetAwaiter().GetResult();
}

[Parameter] public string Id { get; set; }

private NavigationManager NavigationManager { get; set; }
private IMyService MyService { get; set; }
private IMyService2 MyService2 { get; set; }
private IMyService3 MyService3 { get; set; }

protected async Task InitializeViewModel()
{
...
GetWorkTask()
}

private void GetWorkTask()
{
int taskId = int.Parse(Id);
...
}
}


Подробнее здесь: https://stackoverflow.com/questions/647 ... view-model
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»