ASP.NET MVC:Частичный класс:Привести модель к универсальному классу?
-
22-08-2019 - |
Вопрос
Я создаю общую сетку для использования в ASP.NET Приложениях MVC.У меня возникли проблемы с созданием частичного представления, которому передается универсальный класс.
Я подготовил небольшой пример проекта, который демонстрирует то, что я хочу сделать. Скачайте его здесь.
В HomeController у меня есть 2 действия контроллера, которые используют мой общий класс grid для подготовки данных о сотрудниках и отделах для отображения в повторно используемом частичном представлении / Shared /SimpleTrustGridViewer.ascx.
Проблема в том, что в настоящее время я заставляю действие Employees controller работать только тогда, когда я наследоваю частичное представление следующим образом:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TrustGrid<Employee>>" %>
Departments controlleraction выдаст ошибку, на которой я застрял.
Я надеюсь, что кто-нибудь сможет взглянуть на образец проекта, который я подготовил, и сможет предложить простой способ заставить частичный просмотр работать как для сотрудников, так и для отделов.Там не требуется база данных или что-то еще, я просто использую поддельные репозитории.
Вы можете скопировать и вставить исправленный код сюда или по ссылке или по электронной почте (*myUserNameWithoutSpace*1985@gmail.com) исправленный пример проекта.
Любая помощь очень ценится!
(Это продолжение этот вопрос, так как я не смог получить там хороший ответ.Сейчас я подготовил пример проекта, который вы можете использовать для демонстрации того, что нужно сделать.)
Редактировать:Не обращайте особого внимания на интерфейсы IColumn и ITrustGrid, я немного поиграл с ними, пытаясь устранить проблему.
Решение
Расширьте метод, подобный .getTrustGrid(), чтобы вы могли получить тот же тип, который вам нужен.