Этот фрагмент кода показывает, как установить и затем прочитать данные из объекта TempData
:
TempData["ErrorMessage"] = "some message";
var foo = TempData["ErrorMessage"];
Если мне приходится очень часто использовать TempData["ErrorMessage"]
в моем приложении, всегда естьриск сделать опечатку в ключе при разработке нового материала.Я думал о более безопасном способе предотвратить это, поэтому я создал класс:
/// <summary>
/// Contains a list of keys which are used in TempData across the controllers
/// </summary>
public static class TempDataKeys
{
/// <summary>
/// Stores the error message which is optionally dispalyed in the Shared/_ErrorMessage partial view defined in the _Layout.cshtml
/// </summary>
public const string ErrorMessage = "ErrorMessage";
}
, а затем установил и прочитал данные следующим образом:
TempData[TempDataKeys.ErrorMessage] = "some message";
var foo = TempData[TempDataKeys.ErrorMessage];
СейчасЯ думаю, есть ли другой способ достичь аналогичной цели путем создания метода расширения для TempData
, поэтому он позволил бы мне устанавливать и читать данные, подобные этим
TempData.ErrorMessage = "some message";
var foo = TempDataKeys.ErrorMessage;
Я знаючто это может выглядеть как использование ViewBag
, однако мне нужно иметь безопасность во время компиляции, которой нет у ViewBag
.В любом случае, ViewBag
работает совершенно иначе, чем я хочу достичь.
Есть идеи?Приветствия