Easy solution. In your RegisterUser controller method check for a value in TempData and transfer it to ViewData, then have the View check the ViewData, which only survives for that one view.
[HttpGet]
public ActionResult RegisterUser()
{
if( TempData.ContainsKey( "MessageResult" )
{
ViewData["MessageResult"] = TempData["MessageResult"];
ViewData["cssClass"] = messageResult.cssClass;
}
return View(new User());
}
Now in the view use ViewData instead of TempData.