Вариант 1. Лучше всего использовать строго типизированные представления с моделью или моделью представления.
Например, у вас есть два класса User
и Education
, вы хотите отобразить все сведения об образовании пользователя в представлении, вы можете создать пользовательскую модель представления и передать ее в представление, где вы просматриваете строго типизированную модель представления:
public class User
{
public int UserId {get;set;}
public string UserName {get;set}
-------
------
}
public class Education
{
public int UserId {get;set;}
public int DegreeId {get;set;}
public long Marks {get;set;}
---------------
--------------
}
Теперь создайте модель представления следующим образом:
public class EducationViewModel
{
public User user {get;set;}
public List<Education> educationList {get;set;}
}
теперь передайте ViewModel в View и сделайте это в View:
@model AppNameSpace.ViewModels.EducationViewModel
Совет. Создайте папку с именем ViewModels и поместите в нее все классы моделей представления.
Вариант 2. Вариант 2 — пользователю ViewBag и передать несколько объектов из элемента управления в ваше представление. ViewBag доступен, когда вы устанавливаете в нем какое-либо значение в контроллер, вы можете получить доступ в представлении этого действия, после чего оно автоматически стирается и становится нулевым, если вы снова обращаетесь к нему.
вы можете использовать ViewBag следующим образом:
ViewBag.Message = "Using ViewBag";
и прочитайте значение, подобное этому в представлении:
string Message = ViewBag.Message as string;
Вариант 3:
Вариант 3 — хранить данные в TempData, когда они доступны только для чтения, это означает, что вы устанавливаете в них значение, а когда вы их читаете, они автоматически удаляются, TempData внутренне использует переменные сеанса. Вы можете использовать TempData следующим образом. :
TempData["Key"] = "value";
теперь вы читаете это в поле зрения:
string val = TempData["Key"] as string;
после прочтения он будет автоматически удален, но вы можете сохранить его, если он вам нужен дальше, вот так:
TempData.Keep("Key");
person
Ehsan Sajjad
schedule
27.03.2014