Недостаток использования только одного класса ViewComponent для всех компонентов представления в ASP.NET Core 8.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Недостаток использования только одного класса ViewComponent для всех компонентов представления в ASP.NET Core 8.

Сообщение Anonymous »

У меня есть приложение asp.net core 8. Я использую класс ViewComponent для рендеринга компонентов представления, следуя этой документации: aspnetcore-8 ViewComponents. Я создал подход, который будет использовать только один класс ViewComponent, чтобы мне не приходилось создавать кучу классов ViewComponent каждый раз, когда я добавляю новый компонент представления, а также переопределять путь поиска по умолчанию.
Код ViewComponent:

Код: Выделить всё

using Microsoft.AspNetCore.Mvc;
namespace UI.ViewComponents
{
public class AppViewComponent : ViewComponent
{
public AppViewComponent()
{

}

public IViewComponentResult Invoke(string baseFolder, string componentName, dynamic paramData)
{
return View($"/Views/{baseFolder}/Components/{componentName}.cshtml", paramData);
}

}
}
и я использую его примерно так в моем MainView.cshtml:

Код: Выделить всё

 @await Component.InvokeAsync("App",
new
{
baseFolder = "Provider",
componentName = "Edit",
paramData = (Provider: Model.provider, TestData: Model.testData)
})

@await Component.InvokeAsync("App",
new
{
baseFolder = "Account",
componentName = "Edit",
paramData = (Account: Model.account)
})
И на моей странице компонента есть что-то вроде этого, и оно отлично работает:

Код: Выделить всё

@model (Provider provider, string[] testData)


Есть ли какие-либо недостатки в таком подходе? Я поискал в Интернете и не нашел ни одного документа подобного рода.

Подробнее здесь: https://stackoverflow.com/questions/776 ... ents-in-as
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как обновить или перезагрузить ViewComponent с AJAX в ASP.NET CORE 3.1?
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как обновить или перезагрузить ViewComponent с AJAX в ASP.NET CORE 3.1?
    Anonymous » » в форуме Jquery
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Есть ли веская причина НЕ использовать ViewComponent вместо частичного представления в ядре MVC?
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Поиск путей для ViewComponent в ASP.NET
    Anonymous » » в форуме C#
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

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