Добавить компонент Blazor в существующее приложение формы MVC Core с привязкой данных - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь включить компонент Blazor в существующее приложение формы MVC. Я провел некоторое исследование и сделал все необходимые шаги, чтобы включить его, но у меня есть 2 проблемы. Во-первых, я получаю NotSupportedException при попытке добавить List<FormFile> к компоненту Blazor. Второй - более концептуальный, я использую компонент как часть MVC формы, поэтому мне нужен компонент для обновления модели, но я не знаю, с чего начать. Буду признателен за любую помощь!

Ошибка Error Message

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
  services.AddServerSideBlazor();
}

...
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
  app.UseNedpoints(endpoints => 
  {
    endpoints.MapBlazorHub();
  });
}

FileInputBox.razor

<input type="file" @onchange="() => ReadFile()" />
@code {
  [Parameter] public List<FormFile> FormFiles { get; set; } = new List<FormFile>();

  void ReadFile()
  {
    // Reads file and adds it to FormFiles
  }
}

Index.cs html

@model TestModel
<form asp-action="Submit">
  <component type="typeof(FileInputBox)" render-mode="ServerPrerendered" param-FormFiles="Model.FormFiles" param-SupportedTypes="Model.String" />
  <input type="submit" value="Submit" />
</form>

TestModel.cs

public List<FormFile> FormFiles { get; set; } = new List<FormFile>();
public string String { get; set; }

Controller.cs

public ActionResult Index()
{
  TestModel model = new TestModel();
  return View(model);
}
...