À l'aide de PagedList avec un viewmodel MVC 3
Je suis en train de mettre en œuvre IPagedList avec un viewmodel, ma vue principale déclaration est
@model PagedList.PagedList<CustomerOrders.WebUI.Models.SiteAdminListViewModel>
Puis-je avoir un Modèle d'Affichage qui a la déclaration suivante
@model CustomerOrders.WebUI.Models.SiteAdminListViewModel
Dans mon contrôleur, je suis de passage de ce dernier à la vue
return View(new SiteAdminListViewModel(customerSites.ToPagedList(pageIndex, pageSize), customers.ToPagedList(pageIndex, pageSize)));
Il en résulte une erreur, "ce dictionnaire nécessite un élément de modèle de type" PagedList.PagedList'PagedList.PagedList
1[CustomerOrders.L'interface utilisateur web.Modèles.SiteAdminListViewModel]'
Je comprends ce que l'erreur est de dire, mais im pas sûr de la façon de ammend le viewmodel incorporer le PagedList, quelqu'un at-il vécu cela ou quelqu'un peut me pointer dans la bonne direction?
Modifier////////////////
C'est mon viewmodel
public class SiteAdminListViewModel
{
public IEnumerable<CustomerSite> CustomerSites { get; set; }
public IEnumerable<Customer> Customers { get; set; }
public Customer Cust { get; set; }
public CustomerSite CustSite { get; set; }
public bool HasPreviousPage { get; set; }
public bool HasNextPage { get; set; }
public int PageCount { get; set; }
public int PageNumber { get; set; }
public SiteAdminListViewModel()
{
}
public SiteAdminListViewModel(IEnumerable <CustomerSite> customerSites, IEnumerable<Customer> customers)
{
CustomerSites = customerSites;
Customers = customers;
}
}
Ceci est un extrait de l'affichage du modèle////////////
@model CustomerOrders.WebUI.Models.SiteAdminListViewModel
@using (Html.BeginForm())
{
<p class="search-controls">
Find site by postcode: @Html.TextBox("SearchString")
<input type="submit" value="Search" /></p>
}
<td>
@Model.CustSite.CustomerSiteId
</td>
<td>
@Html.ActionLink(Model.Cust.CustomerName, "Edit", new { Model.CustSite.CustomerSiteId })
</td>
<td>
@Model.CustSite.AddressLine1
</td>
<td>
@Model.CustSite.Town
</td>
Salut mes excuses pour que je ne l'inclut pas le viewmodel code d'emblée comme souvent je trouve quand un post est trop en profondeur il ne reçoit pas une réponse, j'ai mis à jour le post avec le viewmodel code, j'ai suivi le tri et la pagination de tutoriel sur la MVC du site et leur code utilise PagedList sur le point de vue de la déclaration, mais ils ne pas utiliser un viewmodel.
Quel est le code pour PagedList ressembler? Quel est le code pour le Client.ToPagedList? Où est l'exception levée?
OriginalL'auteur Liam | 2011-09-08
Vous devez vous connecter pour publier un commentaire.
Voici un exemple que j'ai trouvé qui utilise ViewModel avec PagedList.
http://czetsuya-tech.blogspot.com/2011/05/mvc3-dynamic-search-paging-using.html
OriginalL'auteur Priyank