Ne peut pas effectuer la liaison de runtime sur une référence nulle. ViewBag.Le titre est nul

Je veux fournir un simple général de la fonctionnalité afficher un message en haut de la page à chaque fois que j'ai besoin d'informer l'utilisateur que l'opération est réussie.
Ma solution serait de mettre un objet dans ViewBag.Info qui contient les détails d'un message, y compris bool public IsMessage;et de la lire _Layout.cshtml où j'ai un supplément caché div.

La façon dont je suis en train de le faire dans _Layout.cshtml est j'ai mis ce que @(ViewBag.Info.IsMessage (faux/vrai) dans un champ caché et de le lire en JavaScript. Si le champ contient "vrai", le javascript va appeler une fonction ShowEvent().

Pour une raison quelconque, si j'ajoute la ligne @(ViewBag.Info.IsMessage.ToString().ToLower()) VS2010 se plaint ViewBag.Title dans _Layout.cshtml.

"Impossible d'effectuer la liaison de runtime sur une référence null"

Le code de _Layout.cshtml est simple:

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <link rel="Stylesheet" type="text/css" href="@Url.Content("~/Content/StyleSheet.css")" />
    <script src="~/Scripts/jquery-2.1.1.min.js" type="text/javascript"></script>
    <title>@ViewBag.Title</title>
</head>
<body>
    <input type="hidden" id="is-event" name="is-event" value="@(ViewBag.Info.IsMessage.ToString().ToLower())"/>
    <div class="recent-events"></div>
    <div>
        @if (IsSectionDefined("loginfo"))
        {
            @RenderSection("loginfo", false)
        }
        @RenderBody()
        @if (IsSectionDefined("Home"))
        {
            @RenderSection("Home", false)
        }
    </div>
</body>
</html>

Et le code de la Vue Index.cshtml est:

@model TestProject.ViewModels.Account.UserData
@{
    ViewBag.Title = "Index";
    string identityName = HttpContext.Current.User.Identity.Name;
    string userrole = Model.UserRoles.FirstOrDefault();
}

<h2>Index</h2>
<br />

Comme vous pouvez le voir ViewBag.Title est défini.

MODIFIER.
Le code du contrôleur:

public ActionResult Index()
{
    //...
    InfoModel infoModel = new InfoModel()
    {
        IsMessage = true, Duration = 3000, Message = "Logging in successfull", BackgroundColor = "#bbffbb"
    };
    ViewBag.Info = infoModel;
    ViewBag.Title = string.Empty;
    return View(userdata);
}

OriginalL'auteur Celdor | 2015-01-26