How do you inject a service into a Razor PageModel?

4 phương ánCó giải thíchDễ

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở

Để chèn một dịch vụ vào một Razor PageModel, bạn cần sử dụng một trong các phương pháp sau. Phương pháp chính xác là thêm dịch vụ vào tham số constructor. Điều này cho phép bạn sử dụng dịch vụ trong các phương thức của PageModel. Ví dụ, bạn có thể thêm dịch vụ vào constructor như sau:

Lời giải
public class MyPageModel : PageModel {
  private readonly MyService _myService;
  public MyPageModel(MyService myService) {
    _myService = myService;
  }
  public void OnGet() {
    _myService.DoSomething();
  }
}

Sau đó, bạn cần thêm dịch vụ vào DI container trong Startup.cs. services.AddTransient<MyService>(); Điều này cho phép bạn sử dụng dịch vụ trong PageModel.

Cùng chương 5

Xuất hiện trong 1 bộ đề