Por que o valor do viewbag não está passando de volta para a exibição?

pergunta direta, não consigo obter o meu valor viewBag para exibir em uma exibição que o usuário é direcionado para depois de preencher um formulário.

Por favor, informe.

My Index ActionResult simples retorna dados do modelo.

public ActionResult Index()
{
    var source = _repository.GetByUserID(_applicationUser.ID);
    var model = new RefModel
    {
        test1 = source.test1,
    };
    return View(model);
}

My Get Edit "ActionResult, simplesmente usa os mesmos dados de modelo do Index.

My Post "Editar" ActionResult, atribui os novos valores se houver ao modelo e redireciona para a página de índice, mas página de índice não exibe o valor de ViewBag ??

[HttpPost]
public ActionResult Edit(RefModell model)
{
    if (ModelState.IsValid)
    {
        var source = _repository.GetByUserID(_applicationUser.ID);
        if (source == null) return View(model);

        source.test1 = model.test1;
        _uow.SaveChanges();

        @ViewBag.Message = "Profile Updated Successfully";
        return RedirectToAction("Index");      
    }
    return View(model);
}

E na minha visão do Índice ...

@if(@ViewBag.Message != null)
{
    <div>
        <button type="button">@ViewBag.Message</button>
    </div>
}

questionAnswers(4)

yourAnswerToTheQuestion