MVC на C# с данных tempdata

может кто-нибудь объяснить цель TempData в MVC. Я понимаю, что он ведет себя как ViewBag, но что он делает дальше.

4 ответов


TempData предназначен для очень кратковременного экземпляра, и вы должны используйте его только во время текущего и последующих запросов! С TempData работает таким образом, вам нужно точно знать, что будет дальше запрос будет, и перенаправление на другой вид-это единственное время, когда вы могу это гарантировать. Поэтому единственный сценарий, где используется TempData будет надежно работать, когда вы перенаправляете. Это потому что redirect убивает текущий запрос (и отправляет HTTP код состояния 302 Объект перемещен на клиент), затем создает новый запрос на сервере служить перенаправлены вид. Оглядываясь на прошлое Пример кода HomeController означает, что объект TempData может дать результаты отличаются от ожидаемых, поскольку следующий запрос origin не могу гарантировать. Например, следующий запрос может исходить от совершенно другая машина и браузер пример.

http://rachelappel.com/when-to-use-viewbag-viewdata-or-tempdata-in-asp.net-mvc-3-applications


ViewBag

позволяет создавать динамические свойства

передача данных между контроллером и видом

контроллер

ViewBag.Name= "Lion";

посмотреть

<div>
  <h4>@ViewBag.Name</h4>
 </div>

данных tempdata

TempData предназначен для очень кратковременного экземпляра

вы должны использовать его только в течение текущего и последующего только запросы

словарь TempData используется для обмена данными между действиями контроллера

TempData["Name"] = "Lion";

Я написал сообщение в блоге об этом.Проверьте это как использовать Asp.Net MVC TempData правильно ?


TempData-это объект словаря, производный от класса TempDataDictionary и хранящийся в сеансе коротких жизней.

public TempDataDictionary TempData { get; set; }

это свойство класса ControllerBase.Он используется для передачи данных из текущего запроса в последующий запрос (означает перенаправление с одной страницы на другую). Его жизнь очень коротка и лежит только до тех пор, пока целевой вид не будет полностью загружен. Это требуется типизация для получения данных и проверки нулевых значений, чтобы избежать ошибок.Он используется для хранения только один раз сообщения, такие как сообщения об ошибках, сообщения проверки.


что такое TempData?

Tempdata помогает хранить / сохранять значения в пределах одного запроса. Это одна из концепций для поддержания состояния в ASP .Net MVC.

Как сохранить / сохранить данные в следующем запросе? TempData сохраняет значения для следующего запроса в 4 различных условиях в MVC. Они

Условие 1 – не читать в первом запросе.
Условие 2 – Читать В Первом Запросе.
Условие 3-чтение и сохранение с помощью Держать.
Условие 4-сохраняйте с помощью Peek и Read.

не читать в первом запросе : Если мы не читаем "TempData" в текущем запросе, значение "TempData" будет сохранено для следующего запроса.
Читать В Первом Запросе: Если мы читаем " TempData "в текущем запросе, то значение" TempData " не будет сохраняться для следующего запроса.
чтение и сохранение с помощью Keep: Если мы читаем "TempData" в текущем запросе, и мы можем метод keep для сохранения TempData для следующего запроса. В MVC у нас есть методы void keep() и void keep(string key) для сохранения данных.

http://dotnet-helpers.com/mvc/how-to-persist-data-with-tempdata-using-peek-and-keep-in-mvc/