private void BuildModels(XmlWriter writer, string key, string value, Profile[] profiles, string title) { // Get the number of pages needed to display the models for the vendor. var pages = profiles.Length / DevicesLimit; if (profiles.Length % DevicesLimit != 0) pages++; if (pages > 1) { BuildModelsPager(writer, key, value, pages, PageIndex, title, "top"); } writer.WriteStartElement("div"); writer.WriteAttributeString("class", DevicesCssClass); writer.WriteStartElement("ul"); // Display the profiles that relate to the selected page. foreach (var profile in profiles.Skip(PageIndex * DevicesLimit).Take(DevicesLimit)) { BuildModelSummary(writer, key, value, profile); } writer.WriteEndElement(); writer.WriteEndElement(); if (pages > 1) { BuildModelsPager(writer, key, value, pages, PageIndex, title,"bottom"); } }