2009-09-08 3 views
3

Je suis désireux d'avoir un contrôle utilisateur fortement typé qui accepte la classe PaginatedList<T>ASP.NET MVC: Le passage d'un utilisateur de contrôler une liste de « quelque chose »

Quelle sera ma signature pour ce contrôle utilisateur ressembler et comment est-ce que je le rends?

Au moment j'ai ce que ma signature pour le contrôle de l'utilisateur:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Project.Models.PaginatedList<Project.Models.Product>>" %> 

Il est évident que cela ne fonctionne pas quand je passe un PaginatedList qui détient quelque chose d'autre qu'un produit. Comme ici, quand je veux envoyer un PaginatedList d'articles d'actualité:

<% Html.RenderPartial("Pagination", Model.NewsItems); %> 

Toute aide serait grandement appréciée.

Répondre

3

Vous pourriez essayer de rendre votre contrôle moins fortement typé et utiliser quelque chose comme ViewUserControl<IEnumerable>. Ou, si vous avez besoin de certaines fonctionnalités spécifiques de votre PaginatedList, essayez de créer une interface faiblement typée pour votre classe PaginatedList et faites ViewUserControl<IPaginatedList>.

Questions connexes