Вы можете использовать ViewData [], но лучшим способом будет создать класс представления и вернуть его.
Итак, скажем, представление, которое вы хотите отправить, называется Контактами. Создайте новый класс View и верните его. так что вместо этого:
public ActionResult Contacts(){
ViewData["contacts"] = arrayOfContacts[];
...
return View();
}
Вы можете получить строго типизированные представления, выполнив следующее:
public class ContactsView(){
Object[] ContactsList {get;set;}
}
public ActionResult Contacts(){
...
return View(new ContactsView(){
ContactsList = arrayOfContacts[];
});
}
Тогда в реальном представлении его можно строго типизировать, принимая объекты типа ContactsView. Таким образом, в реальном View он наследуется так:
... Inherits="System.Web.Mvc.ViewPage<ContactsView>" ...
Что позволяет вам вызывать ваш массив как ...
Model.ContactsList
в противоположность этому:
object[] arrayOfItems = (Object[])ViewData["theContactsList"];
В этом случае вы, вероятно, захотите проверить, не является ли он нулевым, и т. Д. Преимущество этого состоит в том, что если вы выполните рефакторинг, это будет намного проще. Не говоря уже о простоте и типовой безопасности использования строго типизированных объектов.